home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-01-11 | 245.8 KB | 3,109 lines |
- :READ GNNRT EXEC C1 UPDTS 05/10/92 11:12:21
- /**/
- arg cntrl
- if cntrl = '' then cntrl='RXTCP'
- 'execupdt nnr ( ctl' cntrl 'nocomments'
- 'execupdt nnr$xedi xedit ( ctl' cntrl 'nocomments'
- 'execupdt nnr$arti xedit ( ctl' cntrl 'nocomments'
- 'execupdt nnr$note xedit ( ctl' cntrl 'nocomments'
- 'execupdt nnr$pref xedit ( ctl' cntrl 'nocomments'
- 'erase * updlog a'
- 'erase * updates a'
- exit
- :READ GNNRX EXEC C1 UPDTS 05/10/92 11:12:21
- /**/
- arg cntrl
- if cntrl = '' then cntrl='RXSOC'
- 'execupdt nnr ( ctl' cntrl 'nocomments'
- 'execupdt nnr$xedi xedit ( ctl' cntrl 'nocomments'
- 'execupdt nnr$arti xedit ( ctl' cntrl 'nocomments'
- 'execupdt nnr$note xedit ( ctl' cntrl 'nocomments'
- 'execupdt nnr$pref xedit ( ctl' cntrl 'nocomments'
- 'erase * updlog a'
- 'erase * updates a'
- exit
- :READ MITRE LICENSE C1 UPDTS 08/03/92 14:24:10
- The MITRE Corporation 08/03/92
-
- GENERAL PUBLIC LICENSE
-
-
- The MITRE Corporation provides this software to you without charge.
- It may be reproduced by you within the United States of America
- provided all copyright notices are reproduced. It cannot be made
- available to foreign governments unless done in accordance with
- export control laws.
-
- This material may be reproduced by or for U. S. Government pursuant
- to the copyright license under the clause DFARS 252.227-7013.
-
- This software is provided "AS IS" and no warranties, expressed or
- implied, including but not limited to the implied warranties of
- merchantability and fitness for a particular purpose, are made by The
- MITRE Corporation, it's officers, agents or employees. You agree to
- indemnify and hold harmless The MITRE Corporation, it's officers,
- agents and employees from any and all costs and liability to third
- parties which will arise out of your use for this software
-
- :READ NNR AUXLCL C1 UPDTS 05/10/92 11:16:43
- SITEFIX * local configuration parameters go in sitefix
- :READ NNR AUXRXS C1 UPDTS 08/03/92 14:23:10
- LICENSE * new MITRE license agreement
- VERS131 * set version banner
- FX131S3 * optionally use nnr in conjunction with nnrlist (via STATIC)
- VERS130 * set version banner
- HISTORY
- :READ NNR AUXRXT C1 UPDTS 07/26/92 11:49:05
- RXT131 * set version banner
- * RXT130 * set version banner
- :READ NNR FX131S3 C2 UPDTS 05/30/92 10:51:12
- ./ I 00162000 $ 162500 500 05/30/92 10:51:12
- 'GLOBALV SET STATIC 0' 00157000
- :READ NNR HELPCMS C1 UPDTS 10/29/92 12:09:02
- .cm NNR HELPCMS
- .fo off
- .cs 1 on
- NNR - INVOKE Network News Reader
-
- .cs 1 off
- .cs 2 on
- The format of the NNR command is:
-
- +------+------------------------------------------------------- +
- | | |
- | NNR | << Argument > ( Options > |
- | | |
- | | Where the argument may be a single news group |
- | | in the form "News.Group.Ext" or "p_s" which |
- | | delivers you to your Personal_Subscriptions or |
- | | "p_{}" (where {} is any Personal HLI) which |
- | | delivers you the specified Personal HLI. |
- | | |
- | | |
- | | Where the options are: |
- | | |
- | | + + defaults: |
- | | | ARTICLES nnn | 300 |
- | | | HEADERS YES/NO| yes |
- | | | NEWS ALL/NEW| new |
- | | | DAYSBACK nn | 7 |
- | | | LINES nnnn | 1500 |
- | | | LOG/NOLOG | log |
- | | | POST | N/A |
- | | | IPADDR addr | System Default |
- | | + + |
- | | |
- +------+---------------------------------------------------------+
-
- .cs 2 off
- .cs 3 on
-
- NNR PARAMETERS
-
- NNR will take a news group as an argument.
-
- GENERAL NNR OPTIONS
-
- The following options are available to all users of the NNR command:
-
- ARTICLES -
- The default for the number of articles is 300. If you decide
- to use a number larger than this you may run out of virtual
- memory. The number of articles affects the behavior of the
- Header screen only. You have the option to read the article
- directly without the use of the Headers screen. This would
- start you at the first available article regardless of the
- number of articles. To override this default option you could
- type the following:
-
- "NNR ( ARTICLES 50"
-
- This will set the default for the Headers screen to the 50
- most recent articles. If you want more than 300 you may need
- to "DEFINE STORAGE 4M" and "IPL CMS" again.
-
- HEADERS -
- This option is for those people who would rather not see all
- of the fields associated with the header material. The headers
- contain information related to the news group and the individual
- who posted the news. To override this you would type the
- following:
-
- "NNR ( HEADERS NO"
-
- Additionally, at the Article level, you may toggle between
- headers+body or body only using the PFK "HeadBody".
-
- NEWS -
- The "NEWS" option is useful only when you specify a news
- group as an argument. "NEWS" with "ALL" will yield all articles
- for the specified group, "NEWS" with "NEW" will show only those
- articles new to you, based on the "Groups Read" file. You would
- type the following to get "ALL" the news ("NEW" is the default)
-
- "NNR news.announce.newusers ( NEWS ALL"
-
- Please note that the news group in the above example is in
- lower case. All groups are case sensitive.
-
- DAYSBACK -
- From time to time new groups get added to the server. The
- "daysback" option allows you to override the default window
- for the number of days back you examine new groups. The default
- number of days back is seven; you may go back as many as 30.
-
- There is a pseudo group associated with this phenomenon called
- "New_Groups_Since_mm/dd/yy" where mm/dd/yy will be the date
- from which we inventory the new groups. You would type the
- following to check the new groups 30 days back:
-
- "NNR ( DAYSBACK 30"
-
- LINES -
- The default for the number of lines per article is 1500. If you
- decide to use a number larger than this you may run out of virtual
- memory. Generally, you will find that the greater the number of lines
- specified, the more storage is required to display the article read
- (refer back to ARTICLES to see how to change storage).
-
- "NNR ( LINES 1500"
-
- LOG/NOLOG -
- When posting an article, NNR stores a copy of your post in the
- NNRPMLOG NOTEBOOK. If you do not wish to keep a copy, specify
- the NOLOG option. This option may also be manipulated through the
- "U_Prefer" PFK on the SHLI/Groups screen.
-
- "NNR ( NOLOG"
-
- POST -
- This option will put you directly in the POST screen. You must
- have a valid group as an argument.
-
- "NNR misc.test ( POST"
-
- Please note that the news group in the above example is in lower
- case. All groups are case sensitive.
-
- IPADDR -
- NNR is generally configured to a preferred news server but
- occasionally it will be desirable to connect to other news
- servers. The IPADDR option will allow you to override the
- default IP address for the preferred server.
-
- "NNR ( IPADDR 000.000.000.000"
-
- GENERAL FLOW -
-
-
- ---------- -----------
- | NNR | | NNR p_s |
- ---------- -----------
- ------------------------ | ----------------- or
- | NNR group.ext ( POST | | | NNR group.ext | -----------
- ------------------------ | ----------------- | NNR p_{}|
- | ----------- | -----------
- | | PHLI | | |
- | ----------- | |
- | | | |
- | ------------------- | |
- | |All_News/New_News| | |
- | ------------------- | |
- | | | |
- -------- ----------- | |
- | POST | | SHLI |---------|-------------------|
- -------- ----------- |
- | | | |
- --------------- | ------------|---------------
- | | | |
- | | | |
- | | | |
- ------------ ---------- ----------- ------------
- | ARTICLES | | POST | | HEADERS | | U_PREFER |
- ------------ ---------- ----------- ------------
- | | | |
- ---------- | ---------- | | |
- | POST |-----| MAIL | | | |
- ---------- ---------- | | |
- ---------------------- | ------------------
- | | |
- ------------ --------------------- ----------
- | ARTICLES | | SELECTED_ARTICLES | | POST |
- ------------ --------------------- ----------
- | |
- ------------------------
- |
- ---------- | ----------
- | POST |-----| MAIL |
- ---------- ----------
-
- VARIOUS SCREEN DEFINITIONS
-
- PHLI/MAIN SCREEN
-
- ** PHLI/Main Screen General
-
- To use this screen you simply move the cursor to the desired Primary
- High Level Index (PHLI) and hit one of the Program Function Keys
- (PFK). The PHLI is the principal part of the name of a group. All
- groups with the same PHLI are related in some way. For example
- "comp" represents all groups associated with computing. Positioning
- the cursor on top of "comp" and pressing a PFK will initiate some
- action. Depending on the PFK, you can read all the news, read only
- the new news or exit back to CMS.
-
- There are currently two special purpose PHLIs, Personal_Subscriptions
- and New_Groups_Since_mm/dd/yy. These are slightly different from the
- other PHLIs since they are built by NNR and not directly related to
- the server. The Personal_Subscription PHLI is a collection of all
- the groups you have subscribed to and New_Groups_Since_mm/dd/yy are
- all those groups new to the server from the specified date.
-
- ** PHLI/Main Screen PFKs
-
- PFK Help - This display.
- PFK All_News - Access all the news that is available. Articles read are
- not remembered. Move cursor to desired topic and press
- All_News PFK.
- PFK Quit - Exit NNR program.
- PFK New_News - Access news that is new to you according to "Groups Read"
- file on your account. Articles read are remembered.
- PFK Backward - Scrolls backward one screen.
- PFK Forward - Scrolls forward one screen.
- PFK FullList - Access news that is new to you according to "Groups Read"
- file on your account. All groups are collected. Articles
- read are remembered.
-
- ** PHLI/Main Screen Commands
-
- PREFER - Display Preferences Screen
- SUBset - Drop into a CMS subset. You must type "Return" to come back
- to NNR. If your are using the RXSOCKET version you may use
- other TCPIP applications.
- NULL - Simply hitting the ENTER key will toggle the cursor from the
- current position to the command line.
- TOP - Operates like the Xedit command TOP, locates the first PHLI
- and displays the associated screen.
- BOTtom - Operates like the Xedit command BOTTOM, locates the last PHLI
- and displays the associated screen.
-
-
- SHLI/GROUPS SCREEN
-
- ** SHLI/Groups Screen General
-
- To use this screen you simply move the cursor to the desired
- Secondary High Level Index (SHLI) and hit one of the Program Function
- Keys (PFK). The SHLI is better known as a group or a news group.
- Each news group is comprised of articles. The number of articles and
- posting information accompanies each group. You may check out a
- particular group using the PFKs associated with this screen.
-
- You will notice that some of the groups are highlighted and some are
- not. A group becomes highlighted when you subscribe "Sub/UnS" or
- read the group while in "New_News". This highlighted group will
- eventually appear in your Personal_Subscriptions group.
-
- The "Power" feature is used in conjunction with the "Articles" PFK.
- When "Power" is ON you will be able to move through all the articles
- in all the groups using only the "Next" PFK. When "Power" is OFF you
- will return to the SHLI/Group Screen after reading the last article
- in each group.
-
- ** SHLI/Groups Screen PFKs
-
- PFK Help - This display.
- PFK Articles - Access articles sequentially by article number. Starts with
- the first available article. Cursor position respected.
- PFK Quit - Exits this screen.
- PFK Headers - Preferred path to articles. Collects subject and other
- information for display. Cursor position respected.
- PFK Post - Initiates posting procedure. Only group passed to the
- posting screen. Cursor position respected.
- PFK Mark - Mark the group as been read, zeros the article count.
- PFK Backward - Scrolls backward one screen.
- PFK Forward - Scrolls forward one screen.
- PFK Sub/UnS - Subscribe or UnSubscribe to a news group.
- PFK UpdtGrp - Updates the Group.
- PFK Reduce - Eliminate all groups with 0 articles from the display.
- PFK Power - Toggle between current Power setting. Initially OFF.
-
- ** SHLI/Groups Screen Commands
-
- PREFER - Display Preferences Screen
- SUBset - Drop into a CMS subset. You must type "Return" to come back
- to NNR. If your are using the RXSOCKET version you may use
- other TCPIP applications.
- NULL - Simply hitting the ENTER key will toggle the cursor from the
- current position to the command line.
- UPDate - Inventories all groups associated with the current SHLI and
- displays the revised article count. Works like the "UpdtGrp"
- PFK but on all groups.
- TOP - Operates like the Xedit command TOP, locates the first SHLI
- and displays the associated screen.
- BOTtom - Operates like the Xedit command BOTTOM, locates the last SHLI
- and displays the associated screen.
- /str - Operates like the Xedit command Locate/, where "str" is any
- literal to be searched for. Case is ignored. Use "=" to
- continue search.
-
-
- HEADERS SCREEN
-
- ** Headers Screen General
-
- To use this screen you simply move the cursor to the desired article
- and use a Program Function Key (PFK) to initiate some action, see the
- PFK descriptions. Replacing the "." with (L)og, (M)ail, (P)rint or
- (R)ead and using the Selected PFK will initiate bulk activities. For
- example, replacing the "." with an "P" for several articles and
- pressing the "Selected" PFK will Print all the marked articles. The
- "*" signifies you have read this article during the current session
- or a previous session and the "@" marks articles where some
- "Selected" action has taken place.
-
- On the Headers Screen in the upper left corner you will notice "R 0"
- as an initial setting. This is a "Reduce" indicator, which counts
- the number of times you have issued the Reduce PFK. Use the Quit PFK
- to bring it back to zero.
-
- ** Headers Screen PFKs
-
- PFK Help - This display.
- PFK Article - Read a specific article. Cursor position respected.
- PFK Quit - Exit Headers screen.
- PFK Selected - Mark each article at the "." with an "x". Mark as many as
- desired, then press the Selected PFK.
- PFK Post - Initiates posting procedure. The group and subject are
- passed to the posting screen. Cursor position respected.
- PFK Mrk2Here - Marks all articles as read, up to the cursor position or
- when cursor is on Command line, ALL articles are marked.
- PFK Backward - Scrolls backward one screen.
- PFK Forward - Scrolls forward one screen.
- PFK Thread - Collects articles based on subject.
- PFK Reduce - Eliminates read articles, "reduces" the number displayed.
- PFK Mrk/UMrk - Mark Article/UnMark Article toggle.
- PFK NxtGroup - Moves to the next group in the SHLI list.
-
- ** Headers Screen Commands
-
- PREFER - Display Preferences Screen
- SUBset - Drop into a CMS subset. You must type "Return" to come back
- to NNR. If your are using the RXSOCKET version you may use
- other TCPIP applications.
- NULL - Simply hitting the ENTER key will toggle the cursor from the
- current position to the command line.
- THRead - Thread expects a literal string as an argument. for example,
- try "THR abc", this will display all articles with the string
- "abc","ABC" or any other combination.
- NGroup - Moves to the next group in the SHLI list (with articles).
- PGroup - Moves to the previous group in the SHLI list (with articles).
- TOP - Operates like the Xedit command TOP, locates the first Header
- and displays the associated screen.
- BOTtom - Operates like the Xedit command BOTTOM, locates the last Header
- and displays the associated screen.
- /str - Operates like the Xedit command Locate/, where "str" is any
- literal to be searched for. Case is ignored. Use "=" to cont.
- SORT - Toggles between sorted "Subject" and default server order
-
-
- ARTICLE SCREEN
-
- ** Article Screen General
-
- There are three ways to get to this screen. The first is by
- selecting the "Articles" PFK for a specific group from the SHLI/Group
- screen. The second and third are via the Headers screen using the
- "Article" PFK and the "Selected" PFK, see the respective PFK help for
- each of the screens mentioned.
-
- Once you have succeeded in getting to this screen you may page through
- the article (PFK Forward, PFK Backward) and range through all the
- available articles (PFK Next, PFK Previous). There is one
- Preferences setting that limits the number of "Lines" NNR will allow,
- you may set this accordingly.
-
- From the Article Screen you may also "Post", "Print" or "Log" a
- article, please see the PFK description for this screen for details.
-
- ** Article Screen PFKs
-
- PFK Help - This display.
- PFK Next - Read the next article in the sequence.
- PFK Quit - Exit Article screen.
- PFK Previous - Read the previous article in the sequence.
- PFK PostMail - Initiates posting procedure. The group and subject are
- passed to the posting screen along with the article.
- PFK HeadBody - Toggles between headers+body and body only.
- PFK Backward - Scrolls backward one screen.
- PFK Forward - Scrolls forward one screen.
- PFK Print - Sends the article to the virtual printer.
- PFK Rot13 - Translates screen using a character rotation method.
- PFK Log - Logs article in NNRLOG NOTEBOOK.
- PFK NxtGroup - Moves to the next group in the SHLI list.
-
- ** Article Screen Commands
-
- PREFER - Display Preferences Screen
- SUBset - Drop into a CMS subset. You must type "Return" to come back
- to NNR. If your are using the RXSOCKET version you may use
- other TCPIP applications.
- NGroup - Moves to the next group in the SHLI list (with articles).
- PGroup - Moves to the previous group in the SHLI list (with articles).
- LOG - "LOG xyz" will log the current article into a notebook by the
- name of "XYZ NOTEBOOK". If the header information is available
- this article may be manipulated with Rice Mail/Mailbook.
-
-
- PREFERENCES SCREEN
-
- ** Preferences Screen General
-
- The User Preferences Screen attempts to make NNR more useful in
- irregular situations (normally none of the User configurable
- parameters should need changing). The Header Screen option is
- changed by the Rotate PFK; the other values must be filled in. Once
- any of the values are changed they will retain their setting for the
- duration of the NNR session or until changed again. The values will
- be reset to the default on the next invocation of NNR.
-
- Articles/Group - used to determine the upper limit for the number of
- articles collected on "Headers Screen". Default is 300 articles.
- Lines/Article - used to determine the upper limit for the number of lines
- collected for an article on "Article Screen". Default is 1500 lines.
- Log/NoLog - you may switch between logging all outgoing mail/post and
- not logging them. The default is "YES", log them.
- Add Pseudo PHLI - used in conjunction with the Sub/UnS PFK on the SHLI
- screen. The default is OFF, change this to any name and use the
- Sub/UnS PFK to add groups to the newly defined PHLI.
-
- ** Preferences Screen PFKs
-
- PFK Help - This display.
- PFK Quit - Exit Preferences screen.
- PFK Rotate - Range through possible configuration values.
-
- ** Preferences Screen PFKs
-
- SUBset - Drop into a CMS subset. You must type "Return" to come back
- to NNR. If your are using the RXSOCKET version you may use
- other TCPIP applications.
- NULL - Simply hitting the ENTER key will toggle the cursor from the
- current position to the command line.
-
-
- POST(1) SCREEN
-
- ** POST(1) Screen General
-
- This is a simple mailer/poster. It is comprised of two screens, Post
- Screen(1) and Post Screen(2). This screen will be encountered when
- coming from the Article screen or when NNR detects that there is an
- unfinished article that was started sometime earlier. From this
- screen you determine the course of action, you may direct the article
- to a colleague, follow-up to the news server or reply back to the
- sender.
-
- On the SHLI/Group screen you will see an indicator of whether posting
- is an option or not (y=posting, m=moderated, n=noposting). There are
- groups available for testing this activity; "alt.test" and
- "misc.test" are two such groups.
-
- The second screen you encounter will give you an opportunity to
- change some of the captured information and in the case of forwarding
- the article you will be called upon to type in the recipient's
- electronic address.
-
- ** POST(1) Screen PFKs
-
- PFK Help - This Display.
- PFK Quit - Exit Post(1) screen.
- PFK Resume - Allows you to continue an existing POSTing. This is
- independent of the current article.
- PFK Followup - Newly edited information to be sent back to the server
- for POSTing.
- PFK Mail - Newly edited information to be directed to the local
- electronic mail system (must fill in recipient).
- PFK Reply - Newly edited information to be directed to the creator
- of an article (directed back to the "From:").
- PFK ERASE - Eliminate the previously edited POSTing to operate on
- the current article.
-
- ** POST(1) Screen Commands
-
- PREFER - Display Preferences Screen
- SUBset - Drop into a CMS subset. You must type "Return" to come back
- to NNR. If your are using the RXSOCKET version you may use
- other TCPIP applications.
- NULL - Simply hitting the ENTER key will toggle the cursor from the
- current position to the command line.
- ERASE - Eliminate the previously edited POSTing to operate on the
- current article.
-
-
- POST(2) SCREEN
-
- ** POST(2) Screen General
-
- The Post Screen(2) allows you to modify any of the highlighted
- fields. It is highly recommended that no field be left blank; in
- some cases the MAIL or POST will fail. When sending MAIL use the
- following formats for the "To:" header (nicknames are supported):
-
- userid *or* userid@nodeid *or* userid@nodeid.domain.ext
- (* incorporate personal names as follows *)
- Firstname Lastname <userid@nodeid.domain.ext>
- userid@nodeid.domain.ext (Firstname Lastname)
-
- Bear in mind when you post an article that you are representing both
- yourself and your organization to a potentially large audience.
-
- ** POST(2) Screen PFKs
-
- PFK Help - This Display.
- PFK Quit - Exit Post(2) screen.
- PFK Edit - Establishes a limited XEDIT session. When you come
- from the Article screen you will see the entire article
- is supplied.
- PFK Send - Will POST/MAIL the results of the edit session. You will
- receive confirmation that your contribution was
- successful.
-
- ** POST(2) Screen Commands
-
- PREFER - Display Preferences Screen
- SUBset - Drop into a CMS subset. You must type "Return" to come back
- to NNR. If your are using the RXSOCKET version you may use
- other TCPIP applications.
- NULL - Simply hitting the ENTER key will toggle the cursor from the
- current position to the command line.
-
-
-
- USAGE NOTES
-
- 1. For a complete discussion of the NNR command, consult the NNR User's
- Guide.
-
- 2. There is also a Guide for USENET by the name USENET User Guide for
- Mitre. This is a compilation of articles taken from the news group
- "news.announce.newusers".
-
- EXAMPLES
-
- Sample NNR command invocations are shown below.
-
- "NNR"
- "NNR news.announce.newusers"
- "NNR news.announce.newusers ( NEWS ALL"
- "NNR p_s ( NEWS ALL"
- "NNR p_MyVMhli ( NEWS NEW"
- "NNR ( ARTICLES 50"
- "NNR ( HEADERS NO"
- "NNR ( DAYSBACK 30"
- "NNR ( ARTICLES 300 HEADERS YES"
- "NNR ( ARTICLES 300 LINES 1500"
- "NNR ( LINES 1500 NOLOG"
- "NNR news.announce.newusers ( HEADERS NO"
-
- .cs 3 off
- .CM File generated by m21816 at mbvm
- :READ NNR HISTORY C2 UPDTS 08/03/92 14:22:45
- ./ R 00011000 00026000 $ 18990 100 05/09/92 22:20:43
- /* 05/09/92 S_1.3.0 (level set S_1.2.2e) */
- /* * optionally use nnr in conjunction with nnrlist (via STATIC)*/
- /* 07/26/92 version *_1.3.1 */
- /* 08/03/92 add GENERAL PUBLIC LICENSE */
- :READ NNR LICENSE C2 UPDTS 12/15/92 06:14:38
- ./ R 00028000 00043000 $ 28590 590 08/03/92 14:21:13
- /**
- Copyright (C) 1991,1992 The MITRE Corporation
-
- GENERAL PUBLIC LICENSE
-
- The MITRE Corporation provides this software to you without charge.
- It may be reproduced by you within the United States of America
- provided all copyright notices are reproduced. It cannot be made
- available to foreign governments unless done in accordance with
- export control laws.
-
- This material may be reproduced by or for U. S. Government pursuant
- to the copyright license under the clause DFARS 252.227-7013.
-
- This software is provided "AS IS" and no warranties, expressed or
- implied, including but not limited to the implied warranties of
- merchantability and fitness for a particular purpose, are made by The
- MITRE Corporation, it's officers, agents or employees. You agree to
- indemnify and hold harmless The MITRE Corporation, it's officers,
- agents and employees from any and all costs and liability to third
- parties which will arise out of your use for this software
-
- **/
- :READ NNR RXT130 C2 UPDTS 05/10/92 11:12:22
- ./ R 00148490 $ 148680 190 05/09/92 22:28:21
- 'GLOBALV SET VERSION R_1.3.0' 00148490
- ./ R 00275490 $ 275680 190 05/09/92 22:28:21
- say 'NNR version R_1.3.0, Copyright (C) 1991,1992 Paul J. Campbell' 00275490
- :READ NNR RXT131 C2 UPDTS 12/15/92 06:14:08
- ./ R 00148680 $ 148770 90 07/26/92 10:12:27
- 'GLOBALV SET VERSION R_1.3.1' 00148680
- ./ R 00275680 $ 275770 90 07/26/92 10:12:27
- say 'NNR version R_1.3.1, Copyright (C) 1991,1992 The MITRE Corporation'00275680
- :READ NNR SAMPLEFX C2 UPDTS 05/10/92 11:12:22
- ./ R 00056000 $ 56490 490 05/09/92 22:31:25
- 'EXEC LINKPROD TCPIP'
- ./ R 00143000 00146000 $ 143790 790 05/09/92 22:31:25
- 'GLOBALV SETL THISNODE Yournode.Domain.Ext'
- 'GLOBALV SETL ORGANIZATION Your Organization'
- 'GLOBALV SETL MAILER XMAILER'
- 'GLOBALV SETL IPADDR 000.000.000.000'
- ./ R 00193000 $ 193490 490 05/09/92 22:31:25
- 'XEDIT $NNTP$ $LISTS$ S (PROFILE NNR$XEDI'
- ./ R 00253000 $ 253490 490 05/09/92 22:31:25
- 'EXEC DPRINT NET_NEWS _OUTPUT_ ( CC YES'
- :READ NNR VERS130 C2 UPDTS 05/10/92 11:12:22
- ./ R 00148000 $ 148490 490 05/09/92 22:27:11
- 'GLOBALV SET VERSION S_1.3.0' 00148000
- ./ R 00275000 $ 275490 490 05/09/92 22:27:11
- say 'NNR version S_1.3.0, Copyright (C) 1991,1992 Paul J. Campbell' 00275000
- :READ NNR VERS131 C2 UPDTS 12/15/92 06:08:44
- ./ R 00148490 $ 148680 190 07/26/92 10:10:21
- 'GLOBALV SET VERSION S_1.3.1' 00148490
- ./ R 00275490 $ 275680 190 07/26/92 10:10:21
- say 'NNR version S_1.3.1, Copyright (C) 1991,1992 The MITRE Corporation'00275490
- :READ NNR$ARTI AUXRXS C1 UPDTS 08/03/92 14:23:10
- LICENSE * new MITRE license agreement
- FX131S6 * expand help to include general screen/ pfk screen/cmd screen
- HISTORY
- :READ NNR$ARTI FX131S6 C1 UPDTS 07/05/92 12:05:29
- ./ I 00199000 $ 199200 200 07/05/92 12:05:29
- Else If Abbrev('SUBSET',translate(line),3) Then 00199200
- Call Subset 00199400
- Else If Abbrev('PREFERENCE',translate(line),6) Then 00199600
- Call Prefer 00199800
- ./ I 00202000 $ 202070 70 07/05/92 12:05:29
- /*-----------------------------------------------------------------*/ 00202070
- /* Routine to handle SUBSET command. */ 00202140
- /*-----------------------------------------------------------------*/ 00202210
- Subset: 00202280
- say 'Type "RETURN" to resume NNR.' 00202350
- 'CMS' 00202420
- Return 00202490
- /*-----------------------------------------------------------------*/ 00202560
- /* Routine to handle PREFER command. */ 00202630
- /*-----------------------------------------------------------------*/ 00202700
- Prefer: 00202770
- Address COMMAND 'XEDIT USER PREFS S (PROFILE NNR$PREF' 00202840
- Return 00202910
- ./ I 00326000 $ 326500 500 07/05/92 12:05:29
- row=lscreen.1; col=7 00326500
- ./ R 00328000 $ 328490 490 07/05/92 12:05:29
- start=5*(18*3)+1 00328490
- ./ I 00361000 $ 361050 50 07/05/92 12:05:29
- else If Line=4 then 00361050
- do 00361100
- HELPSCR.='' 00361150
- Address COMMAND 'EXECIO 18 DISKR NNRHELP $XSCREEN *', 00361200
- start '(FINI STEM HELPSCR.' 00361250
- end 00361300
- else If Line=5 then 00361350
- do 00361400
- HELPSCR.='' 00361450
- Address COMMAND 'EXECIO 18 DISKR NNRHELP $XSCREEN *', 00361500
- start+18 '(FINI STEM HELPSCR.' 00361550
- end 00361600
- else If Line=6 then 00361650
- do 00361700
- HELPSCR.='' 00361750
- Address COMMAND 'EXECIO 18 DISKR NNRHELP $XSCREEN *', 00361800
- start+36 '(FINI STEM HELPSCR.' 00361850
- end 00361900
- ./ R 00391000 00393000 $ 391690 690 07/05/92 12:05:29
- ||' 4= General ', 00391690
- ||' 5= PFKs ', 00392380
- ||' 6= Commands' 00393070
- ./ R 00406000 $ 406490 490 07/05/92 12:05:29
- 'Cursor screen' row col 00406490
- :READ NNR$ARTI HISTORY C1 UPDTS 08/03/92 14:22:45
- ./ R 00007000 00027000 $ 16990 100 05/10/92 09:45:29
- /* 05/09/92 S_1.3.0 (level set S_1.2.2e) */
- /* * expand help to include general, pfk and cmd screen */
- /* 07/26/92 version *_1.3.1 */
- /* 08/03/92 add GENERAL PUBLIC LICENSE */
- :READ NNR$ARTI LICENSE C1 UPDTS 12/15/92 06:15:28
- ./ R 00029000 00044000 $ 29590 590 08/03/92 14:18:29
- /**
- Copyright (C) 1991,1992 The MITRE Corporation
-
- GENERAL PUBLIC LICENSE
-
- The MITRE Corporation provides this software to you without charge.
- It may be reproduced by you within the United States of America
- provided all copyright notices are reproduced. It cannot be made
- available to foreign governments unless done in accordance with
- export control laws.
-
- This material may be reproduced by or for U. S. Government pursuant
- to the copyright license under the clause DFARS 252.227-7013.
-
- This software is provided "AS IS" and no warranties, expressed or
- implied, including but not limited to the implied warranties of
- merchantability and fitness for a particular purpose, are made by The
- MITRE Corporation, it's officers, agents or employees. You agree to
- indemnify and hold harmless The MITRE Corporation, it's officers,
- agents and employees from any and all costs and liability to third
- parties which will arise out of your use for this software
-
- **/
- :READ NNR$NOTE AUXRXS C1 UPDTS 08/03/92 14:23:09
- LICENSE * new MITRE license agreement
- HISTORY
- :READ NNR$NOTE HISTORY C2 UPDTS 08/03/92 14:22:45
- ./ R 00006000 00016000 $ 10990 100 05/10/92 09:48:31
- /* 05/09/92 S_1.3.0 (level set S_1.2.2e) */
- /* 08/03/92 add GENERAL PUBLIC LICENSE */
- :READ NNR$NOTE LICENSE C2 UPDTS 12/15/92 06:16:36
- ./ R 00018000 00033000 $ 18590 590 08/03/92 14:20:25
- /**
- Copyright (C) 1991,1992 The MITRE Corporation
-
- GENERAL PUBLIC LICENSE
-
- The MITRE Corporation provides this software to you without charge.
- It may be reproduced by you within the United States of America
- provided all copyright notices are reproduced. It cannot be made
- available to foreign governments unless done in accordance with
- export control laws.
-
- This material may be reproduced by or for U. S. Government pursuant
- to the copyright license under the clause DFARS 252.227-7013.
-
- This software is provided "AS IS" and no warranties, expressed or
- implied, including but not limited to the implied warranties of
- merchantability and fitness for a particular purpose, are made by The
- MITRE Corporation, it's officers, agents or employees. You agree to
- indemnify and hold harmless The MITRE Corporation, it's officers,
- agents and employees from any and all costs and liability to third
- parties which will arise out of your use for this software
-
- **/
- :READ NNR$PREF AUXRXS C1 UPDTS 08/03/92 14:23:09
- LICENSE * new MITRE license agreement
- FX131S6 * expand help to include general screen/ pfk screen/cmd screen
- HISTORY
- :READ NNR$PREF FX131S6 C2 UPDTS 07/05/92 12:12:07
- ./ I 00172000 $ 172300 300 07/05/92 12:12:07
- Else If Abbrev('SUBSET',line,3) Then 00172300
- Call Subset 00172600
- ./ I 00184000 $ 184100 100 07/05/92 12:12:07
- /*-----------------------------------------------------------------*/ 00184100
- /* Routine to handle SUBSET command. */ 00184200
- /*-----------------------------------------------------------------*/ 00184300
- Subset: 00184400
- say 'Type "RETURN" to resume NNR.' 00184500
- 'CMS' 00184600
- Return 00184700
- ./ I 00294000 $ 294500 500 07/05/92 12:12:07
- row=lscreen.1; col=7 00326500
- ./ R 00296000 $ 296490 490 07/05/92 12:12:07
- start=6*(18*3)+1 00296490
- ./ I 00329000 $ 329050 50 07/05/92 12:12:07
- else If Line=4 then 00329050
- do 00329100
- HELPSCR.='' 00329150
- Address COMMAND 'EXECIO 18 DISKR NNRHELP $XSCREEN *', 00329200
- start '(FINI STEM HELPSCR.' 00329250
- end 00329300
- else If Line=5 then 00329350
- do 00329400
- HELPSCR.='' 00329450
- Address COMMAND 'EXECIO 18 DISKR NNRHELP $XSCREEN *', 00329500
- start+18 '(FINI STEM HELPSCR.' 00329550
- end 00329600
- else If Line=6 then 00329650
- do 00329700
- HELPSCR.='' 00329750
- Address COMMAND 'EXECIO 18 DISKR NNRHELP $XSCREEN *', 00329800
- start+36 '(FINI STEM HELPSCR.' 00329850
- end 00329900
- ./ R 00359000 00361000 $ 359690 690 07/05/92 12:12:07
- ||' 4= General ', 00359690
- ||' 5= PFKs ', 00360380
- ||' 6= Commands' 00361070
- ./ R 00374000 $ 374490 490 07/05/92 12:12:07
- 'Cursor screen' row col 00406490
- :READ NNR$PREF HISTORY C2 UPDTS 08/03/92 14:22:45
- ./ R 00006000 00013000 $ 9990 100 05/10/92 09:46:54
- /* 05/09/92 S_1.3.0 (level set S_1.2.2e) */
- /* * expand help to include general, pfk and cmd screen */
- /* 07/26/92 version *_1.3.1 */
- /* 08/03/92 add GENERAL PUBLIC LICENSE */
- :READ NNR$PREF LICENSE C2 UPDTS 12/15/92 06:19:16
- ./ R 00015000 00030000 $ 15590 590 08/03/92 14:20:13
- /**
- Copyright (C) 1991,1992 The MITRE Corporation
-
- GENERAL PUBLIC LICENSE
-
- The MITRE Corporation provides this software to you without charge.
- It may be reproduced by you within the United States of America
- provided all copyright notices are reproduced. It cannot be made
- available to foreign governments unless done in accordance with
- export control laws.
-
- This material may be reproduced by or for U. S. Government pursuant
- to the copyright license under the clause DFARS 252.227-7013.
-
- This software is provided "AS IS" and no warranties, expressed or
- implied, including but not limited to the implied warranties of
- merchantability and fitness for a particular purpose, are made by The
- MITRE Corporation, it's officers, agents or employees. You agree to
- indemnify and hold harmless The MITRE Corporation, it's officers,
- agents and employees from any and all costs and liability to third
- parties which will arise out of your use for this software
-
- **/
- :READ NNR$XEDI AUXRXS C1 UPDTS 08/05/92 09:10:44
- * 07/26/92 version 1.3.1
- LICENSE * new MITRE license agreement
- FX131SC * add full list on PHLI
- FX131SB * miscellany, tweak previous fixes
- FX131SA * add P_PersonalHLI from the command line
- FX131S9 * add SORT command on Headers
- FX131S8 * add TOP/BOTTOM/LOCATE on PHLI/SHLI/HEADERS
- FX131S7 * reduce overhead for articles read from shli
- FX131S6 * expand help to include general screen/ pfk screen/cmd screen
- FX131S5 * add PREFERence call to command line on every screen
- FX131S4 * reduce shli screen (eliminate groups with 0 articles)
- STKSPLIT * remove LINES restriction GILMART@lstc2vm.stortek.com
- FX131S3 * optionally use nnr in conjunction with nnrlist (via STATIC)
- FX131S2 * add "selected" functions log,mail,print and read
- FX131S1 * fix hang problem
- HISTORY
- :READ NNR$XEDI AUXRXT C1 UPDTS 05/10/92 11:12:23
- REXTCPIP * add rextcpip conversion routines
- :READ NNR$XEDI FX131SA C1 UPDTS 07/24/92 08:08:39
- ./ I 00219000 $ 219200 200 07/19/92 20:45:21
- else if left(translate(newsgroup),2)='P_' &, 00219200
- length(newsgroup)>2 then 00219400
- call Personal_HLI 00219600
- ./ I 00299000 $ 299010 10 07/19/92 20:45:21
- /*-----------------------------------------------------------------*/ 00299010
- /* Routine to drive single Personal HLI */ 00299020
- /*-----------------------------------------------------------------*/ 00299030
- Personal_HLI: 00299040
- gcount=0 00299050
- groups.='' 00299060
- original.='' 00299070
- TestHLI=substr(newsgroup,3) 00299080
- if static then 00299090
- do 00299100
- Address COMMAND 'SET CMSTYPE HT' 00299110
- Address COMMAND 'EXECIO * DISKR' servaddr 'GROUPS *', 00299120
- '(STEM LIST.' 00299130
- if rc^=0 then 00299140
- Address COMMAND 'EXECIO * DISKR NNTP GROUPS *', 00299150
- '(STEM LIST.' 00299160
- Address COMMAND 'SET CMSTYPE RT' 00299170
- do i=1 to list.0 00299180
- ptr=word(list.i,1) 00299190
- if update.ptr.FrstLstLg^='' &, 00299200
- update.ptr.HiLvlIndx=TestHLI Then 00299210
- do 00299220
- parse var list.i . last_act frst_act ynmx 00299230
- parse var update.ptr.FrstLstLg frst_rem last_rem '$' . 00299240
- gcount=gcount+1 00299250
- item.gcount=ptr last_act frst_rem ynmx '1' 00299260
- original.ptr=last_act frst_rem ynmx 00299270
- end 00299280
- end 00299290
- end 00299300
- else /* NOT static */ 00299310
- do 00299320
- ptr=updateptr 00299330
- do while (update.ptr.next^='') 00299340
- if ptr='dummy.first.group' then ptr=update.ptr.next 00299350
- if update.ptr.HiLvlIndx=TestHLI Then 00299360
- do 00299370
- status=STATUS_Response('GROUP' ptr) 00299380
- if word(Status,1)='211' then 00299390
- do 00299400
- parse var status . . frst_act last_act . 00299410
- parse var update.ptr.FrstLstLg frst_rem last_rem '$' . 00299420
- gcount=gcount+1 00299430
- item.gcount=ptr last_act frst_rem '? 1' 00299440
- original.ptr=last_act frst_rem '?' 00299450
- end 00299460
- else 00299470
- do 00299480
- if ptr='dummy.first.group' then 00299490
- say status 00299500
- /* Call Group_Delete(ptr) */ 00299510
- end 00299520
- end 00299530
- ptr=update.ptr.next 00299540
- end 00299550
- if update.ptr.HiLvlIndx=TestHLI Then 00299560
- do 00299570
- status=STATUS_Response('GROUP' ptr) 00299580
- if word(Status,1)='211' then 00299590
- do 00299600
- parse var status . . frst_act last_act . 00299610
- parse var update.ptr.FrstLstLg frst_rem last_rem '$' . 00299620
- gcount=gcount+1 00299630
- item.gcount=ptr last_act frst_rem '? 1' 00299640
- original.ptr=last_act frst_rem '?' 00299650
- end 00299660
- else 00299670
- do 00299680
- if ptr='dummy.first.group' then 00299690
- say status 00299700
- /* Call Group_Delete(ptr) */ 00299710
- end 00299720
- end 00299730
- end 00299740
- item.0=gcount 00299750
- if gcount=0 then 00299760
- Do 00299770
- say 'No such Personal HLI: "'substr(newsgroup,3)'"!' 00299780
- Call Exit_QQuit 00299790
- End 00299800
- Address COMMAND 'GLOBALV SET NEWNEWS 1' 00299810
- if ^static then 00299820
- Call SortList 00299830
- CHGList.='' 00299840
- Call NNR$SHLI 00299850
- Call save_articles 00299860
- Call Exit_QQuit 00299870
- Return 00299880
- :READ NNR$XEDI FX131SB C1 UPDTS 07/26/92 15:59:48
- ./ R 00657770 $ 657850 80 07/26/92 15:56:11
- row=3 00657770
- if multi=1 then 00670930
- col=1 00671010
- else 00671090
- col=2 00671170
- ./ R 00670770 $ 670850 80 07/26/92 15:56:11
- row=3 00670850
- if multi=1 then 00670930
- col=1 00671010
- else 00671090
- col=2 00671170
- ./ R 00678250 $ 678258 8 07/26/92 15:56:11
- row=3 00678258
- if multi=1 then 00678266
- col=1 00678274
- else 00678282
- col=2 00678290
- ./ R 00678650 $ 678658 8 07/26/92 15:56:11
- row=3 00657770
- if multi=1 then 00670930
- col=1 00671010
- else 00671090
- col=2 00671170
- ./ I 00946000 $ 946300 300 07/26/92 15:56:11
- save_locate_index=0 00946300
- save_tstline='' 00946600
- ./ R 01054000 $ 1054490 490 07/26/92 15:56:11
- line=translate(strip(line)) 01054490
- ./ I 01063760 $ 1063763 3 07/26/92 15:56:11
- save_locate_index=0 01063763
- save_tstline='' 01063766
- ./ I 01063790 $ 1063793 3 07/26/92 15:56:11
- save_locate_index=i 01063793
- save_tstline=tstline 01063796
- ./ I 01063910 $ 1063912 2 07/26/92 15:56:11
- else If Substr(line,1,1)='=' Then 01063912
- do 01063914
- if save_locate_index=0 then 01063916
- do 01063918
- message = 'The "=" will only work after a successful', 01063920
- '"/string" search.' 01063922
- Return 01063924
- end 01063926
- do i=save_locate_index+1 to item.0 01063928
- if index(translate(item.i),save_tstline)>0 then 01063930
- leave 01063932
- end 01063934
- if i>item.0 then 01063936
- do 01063938
- index=index-(scrbot-2) 01063940
- save_locate_index=0 01063942
- message = 'Search string "'save_tstline'" not found.' 01063944
- save_tstline='' 01063946
- Return 01063948
- end 01063950
- save_locate_index=i 01063952
- Call NNR_Bottom(i 2) /* get correct page */ 01063954
- if (i-index)>(scrbot-2) then 01063956
- do 01063958
- row=i-index-scrbot+4 01063960
- col=42 01063962
- end 01063964
- else 01063966
- do 01063968
- row=i-index+2 01063970
- col=2 01063972
- end 01063974
- end 01063976
- ./ I 01696760 $ 1696840 80 07/26/92 15:56:11
- save_locate_index=0 01696840
- save_tstline='' 01696920
- ./ R 01808000 $ 1808490 490 07/26/92 15:56:11
- line=translate(strip(line)) 01808490
- ./ I 01823928 $ 1823930 2 07/26/92 15:56:11
- save_locate_index=0 01823930
- save_tstline='' 01823932
- ./ I 01823952 $ 1823954 2 07/26/92 15:56:11
- save_locate_index=i 01823954
- save_tstline=tstline 01823956
- ./ R 01823976 $ 1823980 4 07/26/92 15:56:11
- col=1 01823980
- ./ R 01823989 01824000 $ 1824009 20 07/26/92 15:56:11
- else If Substr(line,1,1)='=' Then 01824009
- do 01824029
- if save_locate_index=0 then 01824049
- do 01824069
- message = 'The "=" will only work after a successful', 01824089
- '"/string" search.' 01824109
- Return 01824129
- end 01824149
- do i=save_locate_index+1 to item.0 01824169
- if index(translate(item.i),save_tstline)>0 then 01824189
- leave 01824209
- end 01824229
- if i>item.0 then 01824249
- do 01824269
- index=index-(scrbot-2) 01824289
- save_locate_index=0 01824309
- message = 'Search string "'save_tstline'" not found.' 01824329
- save_tstline='' 01824349
- Return 01824369
- end 01824389
- save_locate_index=i 01824409
- Call NNR_Bottom(i 1) /* get correct page */ 01824429
- row=i-index+2 01824449
- col=1 01824469
- end 01824489
- else If Abbrev('SORT',line,4) Then 01824509
- Call XHDR_Sort 01824529
- else 01824549
- :READ NNR$XEDI FX131SC C1 UPDTS 08/03/92 14:33:24
- ./ R 00539000 $ 539490 490 07/30/92 15:44:39
- ||' 6= FullList' 00539490
- ./ I 00648000 $ 648700 700 07/30/92 15:44:39
- else If Line=6 then call Full_List 00648700
- ./ I 00816000 $ 816020 20 07/30/92 15:44:39
- /*-----------------------------------------------------------------*/ 00816020
- /* Routine to handle PFK New_Full. */ 00816040
- /*-----------------------------------------------------------------*/ 00816060
- Full_List: 00816080
- item.='' 00816100
- k=0 00816120
- start=1 00816140
- if word(hli.0,1)='New_Groups_Since_'yymmdd then 00816160
- start=2 00816180
- do i=start to words(hli.0) 00816200
- ptr=word(hli.0,i) 00816220
- if index(ptr,'Personal_')=0 then 00816240
- do 00816260
- do j=1 to hli.ptr.0 00816280
- group=hli.ptr.j 00816300
- frst_rem=word(update.group.FrstLstLg,1) 00816320
- k=k+1 00816340
- if (frst_rem^='') then 00816360
- item.k=group, 00816380
- word(original.group,1), 00816400
- frst_rem, 00816420
- word(original.group,3), 00816440
- 1 00816460
- else 00816480
- item.k=group original.group 0 00816500
- end 00816520
- end 00816540
- end 00816560
- item.0=k 00816580
- CHGList.='' 00816600
- Address COMMAND 'DESBUF' 00816620
- Address COMMAND 'GLOBALV SET NEWNEWS 1' 00816640
- Call NNR$SHLI 00816660
- Drop item. 00816680
- if CHGList.0 then 00816700
- do 00816720
- do i=1 to words(hli.0) 00816740
- ptr=word(hli.0,i) 00816760
- if index(ptr,'Personal_')>0 then 00816780
- iterate 00816800
- else 00816820
- Call Update_hli(ptr) 00816840
- end 00816860
- end 00816880
- Drop CHGList. 00816900
- index=index-(scrbot-2) 00816920
- Return 00816940
- :READ NNR$XEDI FX131S1 C2 UPDTS 05/14/92 06:50:17
- ./ R 03308000 $ 3308190 190 05/13/92 11:32:37
- do 03308190
- line = line || data 03308380
- test=right(line,5) 03308570
- end 03308760
- ./ I 03314000 $ 3314500 500 05/13/92 11:32:37
- test=right(line||data,5) 03315500
- ./ R 03318000 $ 3318190 190 05/13/92 11:32:37
- do 03318190
- line = line || data 03318380
- test=right(line,5) 03318570
- end 03318760
- ./ D 03321000 05/13/92 11:32:37
- ./ D 03558000 05/13/92 11:32:37
- ./ D 03564000 05/13/92 11:32:37
- :READ NNR$XEDI FX131S2 C2 UPDTS 06/21/92 12:48:46
- ./ D 01643000 06/21/92 11:36:03
- ./ R 01696000 $ 1696190 190 06/21/92 11:36:03
- Sel_Art_Log.='' 01696190
- Sel_Art_Mail.='' 01696380
- Sel_Art_Print.='' 01696570
- Sel_Art_Read.='' 01696760
- ./ R 01838000 01839000 $ 1838030 30 06/21/92 11:36:03
- Select 01838030
- When translate(string) = "R" Then 01838060
- do 01838090
- if Sel_Art_Read.0='' then 01838120
- Sel_Art_Read.0=1 01838150
- else 01838180
- Sel_Art_Read.0=Sel_Art_Read.0+1 01838210
- count=Sel_Art_Read.0 01838240
- Sel_Art_Read.count=word(item.ptr,1)||' '||ptr 01838270
- prfx.ptr=string 01838300
- end 01838330
- When translate(string) = "L" Then 01838360
- do 01838390
- if Sel_Art_Log.0='' then 01838420
- Sel_Art_Log.0=1 01838450
- else 01838480
- Sel_Art_Log.0=Sel_Art_Log.0+1 01838510
- count=Sel_Art_Log.0 01838540
- Sel_Art_Log.count=word(item.ptr,1)||' '||ptr 01838570
- prfx.ptr=string 01838600
- end 01838630
- When translate(string) = "P" Then 01838660
- do 01838690
- if Sel_Art_Print.0='' then 01838720
- Sel_Art_Print.0=1 01838750
- else 01838780
- Sel_Art_Print.0=Sel_Art_Print.0+1 01838810
- count=Sel_Art_Print.0 01838840
- Sel_Art_Print.count=word(item.ptr,1)||' '||ptr 01838870
- prfx.ptr=string 01838900
- end 01838930
- When translate(string) = "M" Then 01838960
- do 01838990
- if Sel_Art_Mail.0='' then 01839020
- Sel_Art_Mail.0=1 01839050
- else 01839080
- Sel_Art_Mail.0=Sel_Art_Mail.0+1 01839110
- count=Sel_Art_Mail.0 01839140
- Sel_Art_Mail.count=word(item.ptr,1)||' '||ptr 01839170
- prfx.ptr=string 01839200
- end 01839230
- Otherwise 01839260
- Message='An unkown command was found,', 01839290
- 'try "(L)og,(M)ail,(P)rint or (R)ead".' 01839320
- prfx.ptr='.' 01969000
- End 01839350
- ./ I 01984000 $ 1984010 10 06/21/92 11:36:03
- if Sel_Art_Read.0='' &, 01984010
- Sel_Art_Log.0='' &, 01984020
- Sel_Art_Mail.0='' &, 01984030
- Sel_Art_Print.0='' then 01984040
- do 01984050
- index=index-(scrbot-2) 01984060
- message='There were *no* "Selected Articles"!', 01984070
- 'Try "(L)og,(M)ail,(P)rint or (R)ead".' 01839320
- Return 01984080
- end 01984090
- if Sel_Art_Log.0^='' then 01984100
- do 01984110
- LStatus=Selected_Log() 01984120
- if word(LStatus,1)='-1' then 01984130
- do 01984140
- Message=subword(LStatus,2) 01984150
- index=index-(scrbot-2) 01984160
- Return 01984170
- end 01984180
- end 01984190
- if Sel_Art_Mail.0^='' then 01984200
- do 01984210
- recipient=Get_Recip() 01984220
- if recipient='QUIT' then 01984230
- do 01984240
- Message='Mail will not be sent!' 01984250
- Sel_Art_Mail.='' 01984260
- index=index-(scrbot-2) 01984270
- Return 01984280
- end 01984290
- MStatus=Selected_Mail() 01984300
- if word(MStatus,1)='-1' then 01984310
- do 01984320
- Message=subword(MStatus,2) 01984330
- index=index-(scrbot-2) 01984340
- Return 01984350
- end 01984360
- end 01984370
- if Sel_Art_Print.0^='' then 01984380
- do 01984390
- PStatus=Selected_Print() 01984400
- if word(PStatus,1)='-1' then 01984410
- do 01984420
- Message=subword(PStatus,2) 01984430
- index=index-(scrbot-2) 01984440
- Return 01984450
- end 01984460
- end 01984470
- if Sel_Art_Read.0^='' then 01984480
- do 01984490
- RStatus=Selected_Read() 01984500
- if word(RStatus,1)='-1' then 01984510
- do 01984520
- Message=subword(RStatus,2) 01984530
- index=index-(scrbot-2) 01984540
- Return 01984550
- end 01984560
- end 01984570
- index=index-(scrbot-2) 01984580
- Return 01984590
- /*-----------------------------------------------------------------*/ 01984600
- /* Routine to handle PFK Selected Read. */ 01984610
- /*-----------------------------------------------------------------*/ 01984620
- Selected_Read: 01984630
- ./ D 01987000 01992000 06/21/92 11:36:03
- ./ R 01996000 $ 1996490 490 06/21/92 11:36:03
- word(Sel_Art_Read.1,1) 01996490
- ./ D 02000000 06/21/92 11:36:03
- ./ R 02007000 02009000 $ 2007990 990 06/21/92 11:36:03
- Return(nntprc) 02007990
- ./ R 02018000 $ 2018490 490 06/21/92 11:36:03
- ptr=Word(Sel_Art_Read.i,2) 02018490
- ./ R 02021000 02023000 $ 2021990 990 06/21/92 11:36:03
- Sel_Art_Read.='' 02021990
- ./ R 02026000 $ 2026004 4 06/21/92 11:36:03
- Return(0) 02026004
- /*-----------------------------------------------------------------*/ 02026008
- /* Routine to handle PFK Selected Log. */ 02026012
- /*-----------------------------------------------------------------*/ 02026016
- Selected_Log: procedure expose group Sel_Art_log. prfx. 02026020
- Address COMMAND 'GLOBALV GET SOCKET' 02026024
- status=STATUS_Response('GROUP '||group) 02026028
- If word(status,1)='-1' Then Return(Status) 02026032
- do i=1 to Sel_Art_Log.0 02026036
- status=TEXT_Response('ARTICLE' Word(Sel_Art_Log.i,1)) 02026040
- If word(status,1)='-1' Then Return(Status) 02026044
- Status=Check_Status() 02026048
- Call Split_Response 02026052
- notebook='NNRLOG' 02026056
- Address COMMAND 'EXECIO 1 DISKW' notebook 'NOTEBOOK A 0 V 132', 02026060
- '(STRING' copies('=',72) 02026064
- Address COMMAND 'EXECIO' item.0 'DISKW' notebook 'NOTEBOOK A', 02026068
- '0 V 132 ( FINIS STEM ITEM.' 02026072
- ptr=Word(Sel_Art_Log.i,2) 02026076
- prfx.ptr='@' 02026080
- end 02026084
- Sel_Art_Log.='' 02026088
- Return(0) 02026092
- /*-----------------------------------------------------------------*/ 02026096
- /* Routine to handle PFK Selected Mail. */ 02026100
- /*-----------------------------------------------------------------*/ 02026104
- Selected_Mail: procedure expose recipient group Sel_Art_Mail. prfx. 02026108
- Address COMMAND 'GLOBALV GET SOCKET' 02026112
- status=STATUS_Response('GROUP '||group) 02026116
- If word(status,1)='-1' Then Return(Status) 02026120
- do i=1 to Sel_Art_Mail.0 02026124
- status=TEXT_Response('ARTICLE' Word(Sel_Art_Mail.i,1)) 02026128
- If word(status,1)='-1' Then Return(Status) 02026132
- Status=Check_Status() 02026136
- Call Split_Response 02026140
- Call Send_Article(i Sel_Art_Mail.0) 02026144
- ptr=Word(Sel_Art_mail.i,2) 02026148
- prfx.ptr='@' 02026152
- end 02026156
- Sel_Art_Mail.='' 02026160
- Return(0) 02026164
- /*-----------------------------------------------------------------*/ 02026168
- /* Routine to get recipient. */ 02026172
- /*-----------------------------------------------------------------*/ 02026176
- Get_Recip: procedure 02026180
- Address COMMAND 'GLOBALV GET VERSION' 02026184
- message = '' 02026188
- Flag='MAIL' 02026192
- Recipient='' 02026196
- 'Extract /lscreen' 02026200
- row=9; col=7 02026204
- Address COMMAND 'DESBUF' 02026208
- Do Forever 02026212
- Call Display_Recip 02026216
- 'Read Nochange Tag' 02026220
- 'Extract /cursor' 02026224
- row = cursor.5; col = cursor.6; 02026228
- num=0 02026232
- Do While(Queued()>0) 02026236
- num=num+1 02026240
- Parse Pull QueuedLine.num 02026244
- end 02026248
- do i=1 to num 02026252
- Parse var QueuedLine.i key line column string; 02026256
- if key = "RES" Then 02026260
- do 02026264
- if line = 9 Then 02026268
- Recipient=MailName(string) 02026272
- end 02026276
- else SaveQueued=QueuedLine.i 02026280
- end 02026284
- Parse Var SaveQueued key line column string; 02026288
- Select 02026292
- When key = "PFK" Then 02026296
- do 02026300
- If Line=1 then Call NNR$HELP(3) 02026304
- else If Line=3 then Flag='QUIT' 02026308
- else If Line=6 then Flag=Recipient 02026312
- else message='Unsupported PFK' 02026316
- end 02026320
- When key = "ETK" Then 02026324
- do 02026328
- 'CURSOR HOME' 02026332
- 'EXTRACT /CURSOR/' 02026336
- row=cursor.1 02026340
- col=cursor.2 02026344
- end 02026348
- Otherwise Nop 02026352
- End 02026356
- If flag^='MAIL' then 02026360
- leave 02026364
- End 02026368
- Return(Flag) 02026372
- /*-----------------------------------------------------------------*/ 02026376
- /* Routine to display mail forward screen. */ 02026380
- /*-----------------------------------------------------------------*/ 02026384
- Display_Recip: /* set each line of the screen */ 02026388
- 'Set Reserved' 1 'noh' '29'x'! ' '29'x'@', 02026392
- center('*** NNR/VM ('||version||') ***',35), 02026396
- right('Post(2)',25), 02026400
- '29'x'! ' 02026404
- 'Set Reserved' 2 'noh' 02026408
- 'Set Reserved' 3 'noh' '29'x'!'||, 02026412
- 'Bulk Mailing collects only the "To:" field for all Articles marked', 02026416
- '29'x'!' 02026420
- 'Set Reserved' 4 'noh' '29'x'!'||, 02026424
- 'with a "M" on the Headers Screen. This information is collected only', 02026428
- '29'x'!' 02026432
- 'Set Reserved' 5 'noh' '29'x'!'||, 02026436
- 'once reguardless of the number of "M"s. When the Recpient has been'||, 02026440
- '29'x'!' 02026444
- 'Set Reserved' 6 'noh' '29'x'!'||, 02026448
- 'supplied please select from the PFK list below. '||,02026452
- '29'x'!' 02026456
- 'Set Reserved' 7 'noh' 02026460
- 'Set Reserved' 8 'noh' 02026464
- 'Set Reserved' 9 'noh' '29'x'@ To:'||'29'x'*'||, 02026468
- Left(Recipient,60)'29'x'!' 02026472
- Do scrpos=10 to lscreen.1-4 02026476
- 'Set Reserved' scrpos 'noh' 02026480
- End 02026484
- 'Set Reserved' lscreen.1-3 'noh' 02026488
- 'Set Reserved' lscreen.1-2 'high', 02026492
- ' 1= Help ', 02026496
- ||'2= ', 02026500
- ||'3= Quit ', 02026504
- ||' 4= ', 02026508
- ||' 5= ', 02026512
- ||' 6= Send ' 02026516
- 'Set Reserved' lscreen.1-1 'high', 02026520
- ' 7= ', 02026524
- ||'8= ', 02026528
- ||'9= ', 02026532
- ||'10= ', 02026536
- ||'11= ', 02026540
- ||'12= ' 02026544
- If message ^= "" Then 02026548
- Do 02026552
- 'EMSG' message 02026556
- message = '' 02026560
- End; 02026564
- 'Cursor screen' row col 02026568
- Return 02026572
- /*-----------------------------------------------------------------*/ 02026576
- /* Routine to send bulk mail */ 02026580
- /*-----------------------------------------------------------------*/ 02026584
- Send_Article: procedure expose recipient group item. 02026588
- arg num last 02026592
- Address COMMAND 'EXECIO 1 CP ( VAR MYTIME STRING QUERY TIME' 02026596
- Address COMMAND 'GLOBALV GET THISNODE' 02026600
- Address COMMAND 'GLOBALV GET MAILER' 02026604
- Address COMMAND 'GLOBALV GET ORGANIZATION' 02026608
- posth.='' 02026612
- header.='' 02026616
- trailer.='' 02026620
- posth.0=6 02026624
- posth.1='From:' userid()||'@'||thisnode 02026628
- posth.2='To:' Recipient 02026632
- posth.3='Subject: Bulk Mail from Newsgroup:', 02026636
- group '('num 'of' last')' 02026640
- mydate=date('U') 02026644
- parse var mydate mm '/' dd '/' yy 02026648
- wkd=substr(date('W'),1,3) 02026652
- mon=substr(date('M'),1,3) 02026656
- mytime=word(mytime,3)||' '||word(mytime,4) 02026660
- posth.4='Date:' wkd||',' dd mon yy mytime 02026664
- posth.5='Organization:' organization 02026668
- posth.6=' ' 02026672
- header.='' 02026676
- trailer.='' 02026680
- trailer.1='.' 02026684
- trailer.2='QUIT' 02026688
- header.1='HELO '||thisnode 02026692
- header.2='MAIL FROM:<'||userid()||'@'||thisnode||'>' 02026696
- if index(Recipient,'(')>0 then 02026700
- rcptpart=word(Recipient,1) 02026704
- else if index(Recipient,'<')>0 then 02026708
- parse var Recipient '<' rcptpart '>' 02026712
- else if index(Recipient,'@')>0 then 02026716
- do 02026720
- do i=1 to words(Recipient) 02026724
- if index(word(Recipient,i),'@')>0 then 02026728
- rcptpart=word(Recipient,i) 02026732
- end 02026736
- end 02026740
- else 02026744
- rcptpart=Recipient 02026748
- header.3='RCPT TO:<'||rcptpart||'>' 02026752
- header.4='DATA' 02026756
- Address COMMAND 'EXECIO 0 CP (STRING DEF 00D AS 02D' 02026760
- Address COMMAND 'EXECIO 0 CP (STRING DEF PUN AS 00D' 02026764
- Address COMMAND 'EXECIO 0 CP (STRING '||, 02026768
- 'SPOOL 00D TO' MAILER 'CONT CLASS M' 02026772
- Address COMMAND 'EXECIO * PUNCH (STEM HEADER.' 02026776
- Address COMMAND 'EXECIO * PUNCH (STEM POSTH.' 02026780
- /* Double periods as per RFC 977 3.10.1 and */ 02026784
- do i=1 to item.0 /* RFC 821 4.5.2 */ 02026788
- if left(item.i,1)='.' then 02026792
- Address COMMAND 'EXECIO 1 PUNCH (STRING' '.'item.i 02026796
- else 02026800
- Address COMMAND 'EXECIO 1 PUNCH (STRING' item.i 02026804
- end 02026808
- Address COMMAND 'EXECIO * PUNCH (STEM TRAILER.' 02026812
- Address COMMAND 'EXECIO 0 CP (STRING CLOSE 00D NAME '||, 02026816
- userid()||' MAIL' 02026820
- Address COMMAND 'EXECIO 0 CP (STRING DETACH 00D' 02026824
- Address COMMAND 'EXECIO 0 CP (STRING DEF 02D AS 00D' 02026828
- Return 02026832
- /*-----------------------------------------------------------------*/ 02026836
- /* Routine to handle PFK Selected Log. */ 02026840
- /*-----------------------------------------------------------------*/ 02026844
- Selected_Print: procedure expose group Sel_Art_Print. prfx. 02026848
- Address COMMAND 'GLOBALV GET SOCKET' 02026852
- status=STATUS_Response('GROUP '||group) 02026856
- If word(status,1)='-1' Then Return(Status) 02026860
- do i=1 to Sel_Art_Print.0 02026864
- status=TEXT_Response('ARTICLE' Word(Sel_Art_Print.i,1)) 02026868
- If word(status,1)='-1' Then Return(Status) 02026872
- Status=Check_Status() 02026876
- Call Split_Response 02026880
- article_line_count=0 02026884
- do while article_line_count<item.0 02026888
- Address COMMAND 'EXECIO 1 PRINT (CC DATA STRING 1'||, 02026892
- group||' #'||Word(Sel_Art_Print.i,1) 02026896
- do linecount=1 to 55 02026900
- article_line_count=article_line_count+1 02026904
- Address COMMAND 'EXECIO 1 PRINT (CC DATA STRING '||, 02026908
- left(item.article_line_count,132) 02026912
- if article_line_count=item.0 then 02026916
- Leave 02026920
- end 02026924
- end 02026928
- ptr=Word(Sel_Art_Print.i,2) 02026932
- prfx.ptr='@' 02026936
- end 02026940
- Sel_Art_Log.='' 02026944
- Return(0) 02026948
- ./ R 03573000 $ 3573490 490 06/21/92 11:36:03
- NEWSSeleS:Procedure expose socket Sel_Art_Read. 03573490
- ./ R 03581000 03582000 $ 3581590 590 06/21/92 11:36:03
- do i=1 to Sel_Art_Read.0 03581590
- if Start_Article=word(Sel_Art_Read.i,1) then 03582180
- ./ R 03595000 03598000 $ 3595790 790 06/21/92 11:36:03
- SaveArticle=word(Sel_Art_Read.ptr,1) 03595790
- do while ((ptr > 0) & (ptr <= Sel_Art_Read.0)) 03596580
- if SaveArticle < Sel_Art_Read.ptr then 03597370
- SaveArticle=word(Sel_Art_Read.ptr,1) 03598160
- ./ R 03603000 03604000 $ 3603590 590 06/21/92 11:36:03
- Get_Subject(word(Sel_Art_Read.ptr,1)) 03603590
- status=TEXT_Response(Action word(Sel_Art_Read.ptr,1)) 03604180
- :READ NNR$XEDI FX131S3 C2 UPDTS 05/30/92 11:08:39
- ./ I 00104000 $ 104500 500 05/30/92 11:08:39
- Address COMMAND 'GLOBALV GET STATIC' 00104500
- ./ D 00254000 05/30/92 11:08:39
- ./ R 00258000 00292000 $ 258490 490 05/30/92 11:08:39
- if static then 00258490
- do 00258980
- Address COMMAND 'SET CMSTYPE HT' 00259470
- Address COMMAND 'EXECIO * DISKR' servaddr 'GROUPS *', 00259960
- '(STEM LIST.' 00260450
- if rc^=0 then 00260940
- Address COMMAND 'EXECIO * DISKR NNTP GROUPS *', 00261430
- '(STEM LIST.' 00261920
- Address COMMAND 'SET CMSTYPE RT' 00262410
- do i=1 to list.0 00262900
- ptr=word(list.i,1) 00263390
- if update.ptr.FrstLstLg^='' then 00263880
- do 00264370
- parse var list.i . last_act frst_act ynmx 00264860
- parse var update.ptr.FrstLstLg frst_rem last_rem '$' . 00265350
- gcount=gcount+1 00265840
- item.gcount=ptr last_act frst_rem ynmx '1' 00266330
- original.ptr=last_act frst_rem ynmx 00266820
- end 00267310
- end 00267800
- end 00268290
- else /* NOT static */ 00268780
- do 00269270
- ptr=updateptr 00269760
- do while (update.ptr.next^='') 00270250
- if ptr='dummy.first.group' then ptr=update.ptr.next 00270740
- status=STATUS_Response('GROUP' ptr) 00271230
- if word(Status,1)='211' then 00271720
- do 00272210
- parse var status . . frst_act last_act . 00272700
- parse var update.ptr.FrstLstLg frst_rem last_rem '$' . 00273190
- gcount=gcount+1 00273680
- item.gcount=ptr last_act frst_rem '? 1' 00274170
- original.ptr=last_act frst_rem '?' 00274660
- end 00275150
- else 00275640
- do 00276130
- if ptr='dummy.first.group' then 00276620
- say status 00277110
- /* Call Group_Delete(ptr) */ 00277600
- end 00278090
- ptr=update.ptr.next 00278580
- end 00279070
- status=STATUS_Response('GROUP' ptr) 00279560
- if word(Status,1)='211' then 00280050
- do 00280540
- parse var status . . frst_act last_act . 00281030
- parse var update.ptr.FrstLstLg frst_rem last_rem '$' . 00281520
- gcount=gcount+1 00282010
- item.gcount=ptr last_act frst_rem '? 1' 00282500
- original.ptr=last_act frst_rem '?' 00282990
- end 00283480
- else 00283970
- do 00284460
- if ptr='dummy.first.group' then 00284950
- say status 00285440
- /* Call Group_Delete(ptr) */ 00285930
- end 00286420
- end 00287400
- item.0=gcount 00286910
- ./ R 00294000 $ 294290 290 05/30/92 11:08:39
- if ^static then 00294290
- Call SortList 00294580
- ./ R 00378000 00383000 $ 378290 290 05/30/92 11:08:39
- if static then 00378290
- do 00378580
- Address COMMAND 'SET CMSTYPE HT' 00378870
- Address COMMAND 'EXECIO * DISKR' servaddr 'GROUPS *', 00379160
- '(STEM LIST.' 00379450
- if rc^=0 then 00379740
- Address COMMAND 'EXECIO * DISKR NNTP GROUPS *', 00380030
- '(STEM LIST.' 00380320
- Address COMMAND 'SET CMSTYPE RT' 00380610
- end 00380900
- else /* NOT static */ 00381190
- do 00381480
- nntprc=NEWSList() 00381770
- if word(nntprc,1)^='215' then 00382060
- do 00382350
- say nntprc 00382640
- Call Exit_QQuit 00382930
- end 00383220
- end 00383510
- ./ R 00387000 00403000 $ 387390 390 05/30/92 11:08:39
- if static then 00387390
- do 00387780
- do l=1 to list.0 00388170
- groupchk=word(list.l,1) 00388560
- if censor.groupchk='' then 00388950
- do 00389340
- i=i+1 00389730
- item.i=groupchk 00390120
- original.groupchk=subword(list.l,2) 00390510
- if new.groupchk^='' then 00390900
- do 00391290
- k=k+1 00391680
- hli.HiQual.k=groupchk 00392070
- end 00392460
- end 00392850
- end 00393240
- end 00393630
- else /* NOT static */ 00394020
- do 00394410
- do l=1 to list.0 00394800
- if index(word(list.l,4),'=')=0 then 00395190
- do 00395580
- groupchk=word(list.l,1) 00395970
- if censor.groupchk='' then 00396360
- do 00396750
- i=i+1 00397140
- item.i=groupchk 00397530
- original.groupchk=subword(list.l,2) 00397920
- if new.groupchk^='' then 00398310
- do 00398700
- k=k+1 00399090
- hli.HiQual.k=groupchk 00399480
- end 00399870
- end 00400260
- end 00400650
- end 00401040
- end 00401430
- ./ R 00409000 $ 409290 290 05/30/92 11:08:39
- if ^static then 00409290
- Call SortList 00409580
- :READ NNR$XEDI FX131S4 C1 UPDTS 07/04/92 11:47:17
- ./ R 01023000 $ 1023490 490 07/04/92 11:47:17
- ||'11= Reduce ', 01023490
- ./ R 01040000 $ 1040490 490 07/04/92 11:47:17
- ||'11= Reduce ', 01040490
- ./ I 01063000 $ 1063300 300 07/04/92 11:47:17
- else If (line = 'PREFER') Then 01063300
- Call SHLI_Prefer 01063600
- ./ I 01244000 $ 1244040 40 07/04/92 11:47:17
- /*-----------------------------------------------------------------*/ 01244040
- /* Routine to reduce shli display */ 01244080
- /*-----------------------------------------------------------------*/ 01244120
- SHLI_Reduce: 01244160
- newptr=0 01244200
- do i=1 to item.0 01244240
- if num.i^=0 then 01244280
- do 01244320
- newptr=newptr+1 01244360
- first.newptr=first.i 01244400
- last.newptr=last.i 01244440
- newcheck.newptr=newcheck.i 01244480
- groupname.newptr=groupname.i 01244520
- num.newptr=num.i 01244440
- item.newptr=item.i 01244560
- end 01244600
- end 01244640
- do i=newptr+1 to item.0 01244680
- item.i='' 01244720
- end 01244760
- item.0=newptr 01244800
- index=0 01244840
- Return 01244880
- ./ R 01264000 01268000 $ 1265990 1990 07/04/92 11:47:17
- else If Line=11 then Call SHLI_Reduce 01265990
- ./ I 01271000 $ 1271100 100 07/04/92 11:47:17
- /*-----------------------------------------------------------------*/ 01271100
- /* Routine to handle PFK Article. */ 01271200
- /*-----------------------------------------------------------------*/ 01271300
- SHLI_Prefer: 01271400
- Address COMMAND 'XEDIT USER PREFS S (PROFILE NNR$PREF' 01271500
- index=index-(scrbot-2) 01271600
- Return 01271700
- :READ NNR$XEDI FX131S5 C1 UPDTS 07/04/92 12:28:20
- ./ I 00629000 $ 629300 300 07/04/92 12:28:20
- else If Abbrev('PREFER',line,4) Then 00629300
- Call SHLI_Prefer 00629600
- ./ R 01063300 $ 1063390 90 07/04/92 12:28:20
- else If Abbrev('PREFER',line,4) Then 01063390
- ./ I 01823000 $ 1823200 200 07/04/92 12:28:20
- else If Abbrev('PREFER',line,4) Then 01823300
- do
- Call SHLI_Prefer 01823600
- end
- :READ NNR$XEDI FX131S6 C1 UPDTS 07/05/92 12:06:50
- ./ R 00628000 $ 628490 490 07/05/92 12:06:50
- else If Abbrev('SUBSET',line,3) Then 00628490
- ./ R 00629300 $ 629390 90 07/05/92 12:06:50
- else If Abbrev('PREFERENCE',line,6) Then 00629300
- ./ I 00734000 $ 734500 500 07/05/92 12:06:50
- say 'Type "RETURN" to resume NNR.' 00734500
- ./ R 01060000 $ 1060490 490 07/05/92 12:06:50
- else If Abbrev('SUBSET',line,3) Then 01060490
- ./ R 01062000 $ 1062490 490 07/05/92 12:06:50
- else If Abbrev('UPDATE',line,3) Then 01062490
- ./ R 01063390 $ 1063480 90 07/05/92 12:06:50
- else If Abbrev('PREFERENCE',line,6) Then 01063390
- ./ R 01822000 $ 1822490 490 07/05/92 12:06:50
- else If Abbrev('SUBSET',line,3) Then 01822490
- ./ R 01823200 $ 1823290 90 07/05/92 12:06:50
- else If Abbrev('PREFERENCE',line,6) Then 01823200
- ./ I 02320000 $ 2320200 200 07/05/92 12:06:50
- else If Abbrev('PREFERENCE',line,6) Then 02320200
- Call SHLI_Prefer 02320400
- else If Abbrev('SUBSET',line,3) Then 02320600
- Call Subset 02320800
- ./ I 02558000 $ 2558200 200 07/05/92 12:06:50
- else If Abbrev('PREFERENCE',line,6) Then 02558200
- Call SHLI_Prefer 02558400
- else If Abbrev('SUBSET',line,3) Then 02558600
- Call Subset 02558800
- ./ I 02917000 $ 2917500 500 07/05/92 12:06:50
- row=lscreen.1; col=7 02917500
- ./ R 02919000 $ 2919490 490 07/05/92 12:06:50
- start=screennum*18*3+1 02919490
- ./ I 02955000 $ 2955050 50 07/05/92 12:06:50
- else If Line=4 then 02955050
- do 02955100
- HELPSCR.='' 02955150
- Address COMMAND 'EXECIO 18 DISKR NNRHELP $XSCREEN *', 02955200
- start '(FINI STEM HELPSCR.' 02955250
- end 02955300
- else If Line=5 then 02955350
- do 02955400
- HELPSCR.='' 02955450
- Address COMMAND 'EXECIO 18 DISKR NNRHELP $XSCREEN *', 02955500
- start+18 '(FINI STEM HELPSCR.' 02955550
- end 02955600
- else If Line=6 then 02955650
- do 02955700
- HELPSCR.='' 02955750
- Address COMMAND 'EXECIO 18 DISKR NNRHELP $XSCREEN *', 02955800
- start+36 '(FINI STEM HELPSCR.' 02955850
- end 02955900
- ./ R 02988000 02990000 $ 2988690 690 07/05/92 12:06:50
- ||' 4= General ', 02988690
- ||' 5= PFKs ', 02989380
- ||' 6= Commands' 02990070
- ./ R 02992000 02993000 $ 2992590 590 07/05/92 12:06:50
- ' 7= ', 02992590
- ||'8= ', 02993180
- ./ R 03003000 $ 3003490 490 07/05/92 12:06:50
- 'Cursor screen' row col 03003490
- :READ NNR$XEDI FX131S7 C1 UPDTS 07/05/92 13:10:38
- ./ R 03382000 03383000 $ 3382990 990 07/05/92 13:10:38
- status=TEXT_Response('XHDR subject') 03382990
- ./ D 03602000 03603590 07/05/92 13:10:38
- ./ I 03606000 $ 3606300 300 07/05/92 13:10:38
- Address COMMAND 'GLOBALV SETL SUBJECT', 03604380
- Get_Subject() 03604580
- ./ R 03625000 $ 3625490 490 07/05/92 13:10:38
- status=TEXT_Response('HEAD') 03625000
- ./ D 03674000 03675000 07/05/92 13:10:38
- ./ R 03677000 $ 3677490 490 07/05/92 13:10:38
- If word(status,1)='-1' Then Return(Status) 03677000
- ./ I 03678000 $ 3678300 300 07/05/92 13:10:38
- Address COMMAND 'GLOBALV SETL SUBJECT', 03676300
- Get_Subject() 03676600
- ./ R 03697000 $ 3697490 490 07/05/92 13:10:38
- status=TEXT_Response('HEAD') 03697000
- ./ R 03751000 $ 3751490 490 07/05/92 13:10:38
- status=TEXT_Response(Action) 03751490
- ./ R 03758000 $ 3758490 490 07/05/92 13:10:38
- Get_Subject() 03758490
- ./ R 03775000 $ 3775490 490 07/05/92 13:10:38
- status=TEXT_Response(Action) 03775490
- ./ R 03784000 $ 3784490 490 07/05/92 13:10:38
- Get_Subject() 03784490
- ./ R 03800000 $ 3800490 490 07/05/92 13:10:38
- status=TEXT_Response('HEAD') 03800490
- :READ NNR$XEDI FX131S8 C1 UPDTS 07/05/92 15:48:33
- ./ I 00629600 $ 629680 80 07/05/92 15:48:33
- else If Abbrev('TOP',line,3) Then 00629680
- Call NNR_Top 00629760
- else If Abbrev('BOTTOM',line,3) Then 00629840
- Call NNR_Bottom(words(hli.0) 3) 00629920
- ./ R 00649000 00650000 $ 649590 590 07/05/92 15:48:33
- else If Line=7 then call NNR_Backward(3) 00649590
- else If Line=8 then call NNR_Forward(words(hli.0) 3) 00650180
- ./ R 00656000 00659000 $ 656590 590 07/05/92 15:48:33
- NNR_Backward: 00656590
- arg multi 00657180
- row=3;col=2 00657770
- if index-(multi+1)*(scrbot-2) > 1 then 00658360
- index=index-(multi+1)*(scrbot-2) 00658950
- ./ R 00669000 00672000 $ 669590 590 07/05/92 15:48:33
- NNR_Forward: 00669590
- arg num multi 00670180
- row=3;col=2 00670770
- If index+multi*(scrbot-2) < num+scrbot-2 then 00671360
- index=index+(multi-1)*(scrbot-2) 00671950
- ./ I 00678000 $ 678050 50 07/05/92 15:48:33
- /*-----------------------------------------------------------------*/ 00678050
- /* Routine to handle TOP Command. */ 00678100
- /*-----------------------------------------------------------------*/ 00678150
- NNR_Top: 00678200
- row=3;col=2 00678250
- index=0 00678300
- Return 00678350
- /*-----------------------------------------------------------------*/ 00678400
- /* Routine to handle BOTTOM Command. */ 00678450
- /*-----------------------------------------------------------------*/ 00678500
- NNR_Bottom: 00678550
- arg num multi 00678600
- row=3;col=2 00678650
- if num//(multi*(scrbot-2))<>0 then 00678700
- index=(num%(multi*(scrbot-2)))*(multi*(scrbot-2)) 00678750
- else 00678800
- index=(num%(multi*(scrbot-2))-1)*(multi*(scrbot-2)) 00678850
- Return 00678900
- ./ I 01063600 $ 1063610 10 07/05/92 15:48:33
- else If Abbrev('TOP',line,3) Then 01063610
- Call NNR_Top 01063620
- else If Abbrev('BOTTOM',line,3) Then 01063630
- Call NNR_Bottom(item.0 2) 01063640
- else If Substr(line,1,1)='/' Then 01063650
- do 01063660
- locate_index=index-(scrbot-2) /* start at top of screen */ 01063670
- tstline=substr(line,2)||' '||translate(column||' '||string) 01063680
- tstline=strip(tstline) 01063690
- do i=locate_index to item.0 01063700
- if index(translate(item.i),tstline)>0 then 01063710
- leave 01063720
- end 01063730
- if i>item.0 then 01063740
- do 01063750
- index=index-(scrbot-2) 01063760
- message = 'Search string "'tstline'" not found.' 01063770
- Return 01063780
- end 01063790
- Call NNR_Bottom(i 2) /* get correct page */ 01063800
- if (i-index)>(scrbot-2) then 01063810
- do 01063820
- row=i-index-scrbot+4 01063830
- col=42 01063840
- end 01063850
- else 01063860
- do 01063870
- row=i-index+2 01063880
- col=2 01063890
- end 01063900
- end 01063910
- ./ R 01260000 01261000 $ 1260590 590 07/05/92 15:48:33
- else If Line=7 then call NNR_Backward(2) 01260590
- else If Line=8 then call NNR_Forward(item.0 2) 01261180
- ./ D 01595000 01620000 07/05/92 15:48:33
- ./ I 01823800 $ 1823808 8 07/05/92 15:48:33
- else If Abbrev('TOP',line,3) Then 01823840
- Call NNR_Top 01823880
- else If Abbrev('BOTTOM',line,3) Then 01823920
- Call NNR_Bottom(item.0 1) 01823960
- else If Substr(line,1,1)='/' Then 01063650
- do 01063660
- locate_index=index-(scrbot-2) /* start at top of screen */ 01063670
- tstline=substr(line,2)||' '||translate(column||' '||string) 01063680
- tstline=strip(tstline) 01063690
- do i=locate_index to item.0 01063700
- if index(translate(item.i),tstline)>0 then 01063710
- leave 01063720
- end 01063730
- if i>item.0 then 01063740
- do 01063750
- index=index-(scrbot-2) 01063760
- message = 'Search string "'tstline'" not found.' 01063770
- Return 01063780
- end 01063790
- Call NNR_Bottom(i 1) /* get correct page */ 01063800
- row=i-index+2 01063880
- col=2 01063890
- end 01063910
- ./ R 01861000 01862000 $ 1861590 590 07/05/92 15:48:33
- else If Line=7 then call NNR_Backward(1) 01861590
- else If Line=8 then call NNR_Forward(item.0 1) 01862180
- ./ D 02128000 02153000 07/05/92 15:48:33
- :READ NNR$XEDI FX131S9 C1 UPDTS 07/06/92 06:56:16
- ./ I 00334000 $ 334500 500 07/05/92 23:18:19
- Address COMMAND 'GLOBALV SET XHDRSORT' 00334500
- ./ I 01512000 $ 1512500 500 07/05/92 23:18:19
- Address COMMAND 'GLOBALV SET XHDRSORT' 01512500
- ./ I 01636000 $ 1636500 500 07/05/92 23:18:19
- Address COMMAND 'GLOBALV GET XHDRSORT' 01636500
- ./ I 01679000 $ 1679500 500 07/05/92 23:18:19
- sort_toggle=0 01679500
- ./ I 01688000 $ 1688500 500 07/05/92 23:18:19
- sort_toggle=left(xhdrsort,1) 01688500
- ./ I 01723000 $ 1723300 300 07/05/92 23:18:19
- if sort_toggle^=left(xhdrsort,1) then 01723200
- Call XHDR_Sort 01723600
- ./ I 01728000 $ 1728300 300 07/05/92 23:18:19
- if sort_toggle then 01728200
- Call XHDR_Sort 01728600
- ./ I 01823984 $ 1823989 5 07/05/92 23:18:19
- else If Abbrev('SORT',line,4) Then 01823989
- Call XHDR_Sort 01823994
- ./ I 02056000 $ 2056500 500 07/05/92 23:18:19
- Address COMMAND 'GLOBALV SET XHDRSORT' sort_toggle||xhdrsort 02091500
- ./ I 02058000 $ 2058500 500 07/05/92 23:18:19
- Address COMMAND 'GLOBALV SET XHDRSORT' xhdrsort 02094500
- ./ I 02069000 $ 2069020 20 07/05/92 23:18:19
- /*-----------------------------------------------------------------*/ 02069020
- /* Routine to handle SORT Command. */ 02069040
- /*-----------------------------------------------------------------*/ 02069060
- XHDR_Sort: 02069080
- if sort_toggle then 02069100
- do 02069120
- do i=1 to item.0 02069140
- item.i=word(item.i,1)||'4a'x||prfx.i||'4a'x||item.i 02069160
- end 02069180
- Call SortList 02069200
- do i=1 to item.0 02069220
- parse value item.i with . '4a'x tstpre '4a'x tstsub 02069240
- item.i=tstsub 02069260
- prfx.i=tstpre 02069280
- end 02069300
- Sort_Toggle=0 02069320
- end 02069340
- else 02069360
- do 02069380
- do i=1 to item.0 02069400
- parse upper value item.i with . '4a'x tstsub 02069420
- if word(tstsub,1)='RE:' then 02069440
- tstsub=left(subword(tstsub,2),50)||'RE:' 02069460
- else 02069480
- tstsub=left(tstsub,50)||' ' 02069500
- item.i=tstsub||'4a'x||prfx.i||'4a'x||item.i 02069520
- end 02069540
- Call SortList 02069560
- do i=1 to item.0 02069580
- parse value item.i with . '4a'x tstpre '4a'x tstsub 02069600
- item.i=tstsub 02069620
- prfx.i=tstpre 02069640
- end 02069660
- Sort_Toggle=1 02069680
- end 02069700
- index=0 02069720
- Return 02069740
- ./ I 02091000 $ 2091500 500 07/05/92 23:18:19
- Address COMMAND 'GLOBALV SET XHDRSORT' sort_toggle||xhdrsort 02091500
- ./ I 02094000 $ 2094500 500 07/05/92 23:18:19
- Address COMMAND 'GLOBALV SET XHDRSORT' xhdrsort 02094500
- :READ NNR$XEDI HISTORY C2 UPDTS 08/05/92 09:13:04
- ./ R 00006000 00062000 $ 25990 100 05/09/92 22:13:14
- /* 05/09/92 S_1.3.0 (level set S_1.2.2e) */
- /* * fix hang problem */
- /* * add "selected" functions log,mail,print and read */
- /* * optionally use nnr in conjunction with nnrlist (via STATIC)*/
- /* * remove LINES restriction GILMART@lstc2vm.stortek.com */
- /* * reduce shli screen (eliminate groups with 0 articles) */
- /* * add PREFERence call to command line on every screen */
- /* * expand help to include general, pfk and cmd screen */
- /* * reduce overhead for articles read from shli */
- /* * add TOP/BOTTOM/LOCATE on PHLI/SHLI/HEADERS */
- /* * add SORT command on Headers */
- /* * add P_PersonalHLI from the command line */
- /* * miscellany, tweak previous fixes */
- /* * add full list on PHLI */
- /* 07/26/92 version *_1.3.1 */
- /* 08/03/92 add GENERAL PUBLIC LICENSE */
- :READ NNR$XEDI LICENSE C1 UPDTS 12/15/92 06:17:55
- ./ R 00064000 00078000 $ 64590 590 08/03/92 14:20:03
- /**
- Copyright (C) 1991,1992 The MITRE Corporation
-
- GENERAL PUBLIC LICENSE
-
- The MITRE Corporation provides this software to you without charge.
- It may be reproduced by you within the United States of America
- provided all copyright notices are reproduced. It cannot be made
- available to foreign governments unless done in accordance with
- export control laws.
-
- This material may be reproduced by or for U. S. Government pursuant
- to the copyright license under the clause DFARS 252.227-7013.
-
- This software is provided "AS IS" and no warranties, expressed or
- implied, including but not limited to the implied warranties of
- merchantability and fitness for a particular purpose, are made by The
- MITRE Corporation, it's officers, agents or employees. You agree to
- indemnify and hold harmless The MITRE Corporation, it's officers,
- agents and employees from any and all costs and liability to third
- parties which will arise out of your use for this software
-
- **/
- :READ NNR$XEDI REXTCPIP C2 UPDTS 06/21/92 12:48:45
- ./ R 03228000 03239000 $ 3228990 990 06/21/92 11:56:24
- 'NUCEXT REXTCPIP' /*RXTcp*/03228990
- if rc = 1 then 'REXTCPIP' /*RXTcp*/03229980
- socket = tcpOPEN(word(args,1),119,20) /*RXTcp*/03230970
- if tcprc ^= 0 then Return('-1 tcpopen '||tcprc) /*RXTcp*/03231960
- 'GLOBALV SETL SOCKET' socket /*RXTcp*/03232950
- status=STATUS_Response('') /*RXTcp*/03233940
- ./ R 03245000 03248000 $ 3245790 790 06/21/92 11:56:24
- Call tcpCLOSE socket /*RXTcp*/03245790
- 'NUCXDROP REXTCPIP' /*RXTcp*/03246580
- if tcprc ^= 0 then /*RXTcp*/03247370
- Return('-1 tcpclose '||tcprc) /*RXTcp*/03248160
- ./ R 03269000 03270000 $ 3269590 590 06/21/92 11:56:24
- bytes_in = Socket('Read') /*RXTcp*/03269590
- If word(bytes_in,1)="-1" Then Return(bytes_in) /*RXTcp*/03270180
- ./ R 03293000 03294000 $ 3293590 590 06/21/92 11:56:24
- bytes_in = Socket('Read') /*RXTcp*/03293590
- If word(bytes_in,1)="-1" Then Return('-1 READ '||errno)/*RXTcp*/03294180
- ./ R 03333280 03333300 $ 3333290 10 06/21/92 11:56:24
- bytes_in = Socket('Read') /*RXTcp*/ 03545590
- If word(bytes_in,1)="-1" Then Return(bytes_in) /*RXTcp*/ 03546180
- ./ R 03338000 03339000 $ 3338590 590 06/21/92 11:56:24
- bytes_out = Socket('Write') /*RXTcp*/03338590
- If word(bytes_out,1)="-1" Then Return(bytes_out) /*RXTcp*/03339180
- ./ R 03423000 $ 3423290 290 06/21/92 11:56:24
- data=data||'0D0A'x /*RXTcp*/03423290
- If word(Socket('Write'),1)='-1' Then /*RXTcp*/03423580
- ./ R 03431000 $ 3431490 490 06/21/92 11:56:24
- If word(Socket('Write'),1)='-1' Then /*RXTcp*/03431490
- ./ R 03435000 $ 3435490 490 06/21/92 11:56:24
- If word(Socket('Write'),1)='-1' Then /*RXTcp*/03435490
- ./ R 03545000 03546000 $ 3545590 590 06/21/92 11:56:24
- bytes_in = Socket('Read') /*RXTcp*/03545590
- If word(bytes_in,1)="-1" Then Return(bytes_in) /*RXTcp*/03546180
- ./ R 03560000 03561000 $ 3560590 590 06/21/92 11:56:24
- bytes_in = Socket('Read') /*RXTcp*/03560590
- If word(bytes_in,1)="-1" Then Return(bytes_in) /*RXTcp*/03561180
- ./ I 03861000 $ 3862000 1000 06/21/92 11:56:24
- /**********************************************************************/03862000
- /* Add REXTCPIP interface, use socket stuff layout. */03863000
- /**********************************************************************/03864000
- socket:procedure expose socket data errno /*RXTcp*/03865000
- parse arg RorW /*RXTcp*/03866000
- If RorW='Read' then /*RXTcp*/03867000
- do /*RXTcp*/03868000
- Call tcpRECEIVE Socket,'WAIT','BIN' /*RXTcp*/03869000
- errno=tcprc /*RXTcp*/03870000
- If tcprc^=0 then /*RXTcp*/03871000
- Return('-1 '||errno) /*RXTcp*/03872000
- data=tcpline.1 /*RXTcp*/03873000
- Return(length(tcpline.1)) /*RXTcp*/03874000
- end /*RXTcp*/03875000
- Else if RorW='Write' then /*RXTcp*/03876000
- do /*RXTcp*/03877000
- Call tcpSEND Socket,data,'BIN' /*RXTcp*/03878000
- errno=tcprc /*RXTcp*/03879000
- If tcprc^=0 then /*RXTcp*/03880000
- Return('-1 '||errno) /*RXTcp*/03881000
- Return(0) /*RXTcp*/03882000
- end /*RXTcp*/03883000
- Else Return('-1 Socket Unknown '||RorW) /*RXTcp*/03884000
- return /*RXTcp*/03885000
- :READ NNR$XEDI RXSSTAT C2 UPDTS 05/10/92 11:11:41
- ./ D 00254000 05/10/92 10:38:03
- ./ R 00258000 00291000 $ 258990 990 05/10/92 10:38:03
- Address COMMAND 'SET CMSTYPE HT' /*static*/00128107
- Address COMMAND 'EXECIO * DISKR' servaddr 'GROUPS *', /*static*/00128114
- '(STEM LIST.' /*static*/00128121
- if rc^=0 then /*static*/00128128
- Address COMMAND 'EXECIO * DISKR NNTP GROUPS *', /*static*/00128135
- '(STEM LIST.' /*static*/00128142
- Address COMMAND 'SET CMSTYPE RT' /*static*/00128149
- do i=1 to list.0 /*static*/00128156
- ptr=word(list.i,1) /*static*/00128163
- if update.ptr.FrstLstLg^='' then /*static*/00128170
- do /*static*/00128170
- parse var list.i . last_act frst_act ynmx /*static*/00128210
- parse var update.ptr.FrstLstLg frst_rem last_rem '$' log '$*$' .00264000
- gcount=gcount+1 /*static*/00265000
- item.gcount=ptr last_act frst_rem ynmx '1' /*static*/00128266
- original.ptr=last_act frst_rem ynmx /*static*/00128272
- end /*static*/00128272
- end /*static*/00128272
- ./ R 00294000 $ 294490 490 05/10/92 10:38:03
- /* Call SortList */ /*static*/00222970
- ./ R 00378000 00383000 $ 378690 690 05/10/92 10:38:03
- Address COMMAND 'SET CMSTYPE HT' /*static*/00198080
- Address COMMAND 'EXECIO * DISKR' servaddr 'GROUPS *', /*static*/00198570
- '(STEM LIST.' /*static*/00199060
- if rc^=0 then /*static*/00199550
- Address COMMAND 'EXECIO * DISKR NNTP GROUPS *', /*static*/00200040
- '(STEM LIST.' /*static*/00200530
- Address COMMAND 'SET CMSTYPE RT' /*static*/00201020
- ./ R 00387000 00403000 $ 387990 990 05/10/92 10:38:03
- do l=1 to list.0 /*static*/00203300
- groupchk=word(list.l,1) /*static*/00204290
- if censor.groupchk='' then /*static*/00205280
- do /*static*/00206270
- i=i+1 /*static*/00207260
- item.i=groupchk /*static*/00208250
- original.groupchk=subword(list.l,2) /*static*/00209240
- if new.groupchk^='' then /*static*/00210230
- do /*static*/00211220
- k=k+1 /*static*/00212210
- hli.HiQual.k=groupchk /*static*/00213200
- end /*static*/00214190
- end /*static*/00215180
- end /*static*/00215180
- ./ R 00409000 $ 409490 490 05/10/92 10:38:03
- /* Call SortList */ /*static*/00222970
- :READ NNR$XEDI STKSPLIT C1 UPDTS 07/06/92 07:21:03
- ./ I 02026024 $ 2026026 2 07/06/92 07:12:18
- Address COMMAND 'GLOBALV GET HEADERS' 01900000
- ./ R 02026040 02026072 $ 2026043 3 07/06/92 07:12:18
- 'msg Fetching Article Number' Word(Sel_Art_Log.i,1) 02026043
- 'refresh' 02026046
- notebook='NNRLOG' 02026049
- Address COMMAND 'EXECIO 1 DISKW' notebook 'NOTEBOOK A 0 V 132', 02026052
- '(STRING' copies('=',72) 02026055
- status=TEXT_Process(headers Word(Sel_Art_Log.i,1), 'COMMAND', , 02026058
- 'EXECIO 1 DISKW' notebook 'NOTEBOOK A 0 (var DATA )') 02026061
- If word(status,1)='-1' Then Return(Status) 02026064
- Status=Check_Status() 02026067
- Address COMMAND 'EXECIO 0 DISKW' notebook 'NOTEBOOK A (finis' 02026070
- ./ I 03333000 $ 3333020 20 07/06/92 07:12:18
- /**********************************************************************/03333020
- /* Process TEXT Response (ends with a .) */03333040
- /**********************************************************************/03333060
- TEXT_Process: procedure expose socket item. 03333080
- parse arg command, Proc_Env, Proc_Cmd 03333100
- status=NEWS_Command(command) 03333120
- If word(Status,1)='-1' then return Status 03333140
- 03333160
- Status=0 03333180
- line = '' 03333200
- LineCount = 0 03333220
- pattern=E2A('.') 03333240
- Do ReadCount = 1 03333260
- bytes_in = Socket('Read', socket, 'data') 03333280
- If bytes_in="-1" Then Return('-1 READ' errno) 03333300
- If bytes_in=0 then leave ReadCount 03333320
- line = line || data 03333340
- do LineCount = LineCount 03333360
- parse value line with data '0d0a'x +0 test +2 line 03333380
- if test=='' then do 03333400
- line = data 03333420
- leave LineCount; end 03333440
- if left(data,1)==pattern then do 03333460
- data = substr(data,2) 03333480
- if data=='' then leave ReadCount; end 03333500
- select 03333520
- /* Other "when" clauses ad lib. */ 03333540
- when Proc_Env='COMMAND' then if LineCount>0 then do 03333560
- data = A2E(data) 03333580
- /* Need test for disk full and such errors here. */ 03333600
- address 'COMMAND' Proc_Cmd; end 03333620
- end /* select */ 03333640
- end LineCount; end ReadCount 03333660
- Return(status) 03333680
- :READ NNR_130 README C1 UPDTS 07/26/92 12:05:06
- NNR (S_1.3.0) and (R_1.3.0) update announcement.
-
- SPECIAL THANKS:
- Arty Ecock @ City University New York
- Ken Hornstein @ Pennsylvania State University
-
- NOTE: 1.3.0 (1.2.2e) has been re-sequenced. if you want to see how
- we got from point d to point e you will want to examine "updates
- vers122e". there should be no difference between 1.3.0 and 1.2.2e
- except your old "nnr sitefix" will no longer work with the new
- sequencing. you will find "nnr samplefx" in "updates vers130"
- which can be used as an example replacement for "nnr sitefix".
-
- the following 2 fixes and a few fixes from 1.2.2d were done to
- support the ability to add multiple personal_subscriptions.
-
- * streamline hli processing, simplifies all_news, new_news*
- * breakout hli into individual parts, indexed separately *
-
- all personal PHLI (except Subscriptions) can be created and/or destroyed
- during the same session.
-
- * dynamic addition/subtraction to/from pers_subs *
-
- xedit will now use filemode "s" to prevent the possibility of saving or
- or filing on an unsuspecting user's account. "FILE" and "SAVE" are now
- available from the article screen.
-
- * edit mode s *
-
- when a user has been connected to the server for a long time there
- would be a few groups that had additional articles arrive during
- the time connected. when these additional articles were read a negative
- article count on the SHLI screen would result. this has been corrected.
-
- * fix negative article count (display) *
-
- there has been some debate about the validity of nnr subscribing a
- user to a group by simply reading an article. in an effort to minimize
- this behavior i have restricted the auto-subscribe feature to reading
- articles and not browsing headers. (creating/building personal PHLIs
- will require the use of the Sub/UnS PFK)
-
- * only subscribe if article has been read while in headers*
-
- since some systems have a low tolerance for virtual storage i have
- attempted to honor the defined limit for lines more exactly. formerly,
- nnr could have been off by as much as 8k+.
-
- * fine grain lines/article limit analysis *
-
- because of some deadlines i could not fully add a contribution from
- GILMART@lstc2vm.stortek.com. the following update reflects the portion
- that could be adapted prior to re-sequencing. there will more on this
- fine contribution later.
-
- * fix from GILMART@lstc2vm.stortek.com (preferences hook) *
-
- the ability to unmark a thread was flawed. this would occur when an
- article was marked prior to threading. headers then threaded. article
- was then unmarked but upon returning from the thread the article is
- again marked. thanks gil.
-
- * fix from GILMART@lstc2vm.stortek.com ( unmark thread) *
-
- *****************************************************************
- many thanks to the University of Stuttgart and the
- Instituto Tecnologico de Monterrey for the anonymous ftp
- -----------
- Anonymous FTP to VMTECQRO.QRO.ITESM.MX or 132.254.90.1
- CD NNR
-
- 8:00-23:00 CST Mon. to Fri.
- 9:00-16:00 CST Sat. & Sun.
- -----------
- FTP rusmv1.rus.uni-stuttgart.de or 129.69.1.12
- cd /soft/kommunikation/news/beginner/software/nnr
- -----------
-
- source.vers130 - nnr sequenced source and support files
- updates.vers130 - individual updates
- nnrrxtcp.vers130 - nnr with rextcpip
- nnrrxsoc.vers130 - nnr with rxsocket (requires fal version 2)
- nnrrxtcp.noas130 - nnr (without rextcpip)
- nnrrxsoc.noas130 - nnr (without rxsocket) (requires fal version 2)
- nnrdocs.vers130 - nnr users guide (script and postscript)
- updates.vers122e - individual updates to get to version 1.3.0
-
-
- the above mentioned files are in a punch format and the following
- procedure will unpack them.
-
- SPOOL PUN *
- PUNCH Filename Filetype <fm> ( NOH
- ORDER RDR <spid>
- READCARD * * <fm>
-
- use the command "gnnrx" to generate the rxsocket version and
- "gnnrt" for the rextcpip version from source.vers130 and
- updates.vers130.
-
- In NNR exec:
- set variable ipaddr : ip address
- mailer : mail machine
- organization : your organization
- thisnode : yournode.yourdomain
-
- make appropriate update for link to production tcpmaint 592
- make appropriate update for printing
-
- See "NNR SAMPLEFX" - update, make changes to this file for your site
- and file it as "NNR SITEFIX".
-
- /pc
-
- -------------
- Paul Campbell
- The MITRE Corporation
- Bedford, MA, USA 01730 : (617)271-3984
- nnrprod@mbvm.mitre.org
- :READ NNR_131 README C1 UPDTS 12/15/92 06:53:16
- NNR (S_1.3.1) and (R_1.3.1) update announcement.
-
- SPECIAL THANKS:
- Arty Ecock @ City University New York
- Ken Hornstein @ Pennsylvania State University
-
-
- * NNR
-
- /* * fix hang problem */
-
- this was fixed as part of the nnr version 130 distribution. rather than
- make a new release or bring back nnr version 130 and re-sequence again
- i sent out an announcement and updated the distribution.
-
- /* * add "selected" functions log,mail,print and read */
-
- this may be a shock to some users. the "Selected" pfk will now be
- more selective with what is accepted on the Headers Screen. formerly
- you were allowed to use ANY character to mark an article for reading.
- now you may only read and article when a "r" (or "R") is placed next
- to the article. you now have the ability to place other characters
- with different meaning on the Headers Screen. nnr now accepts "l"
- (or "L") to mean Log this article, "m" (or "M") to Mail this article
- and "p" (or "P") to Print this article. once all the articles are
- marked as desired and the "Selected" pfk is pressed nnr will start
- the various processes as indicated. for example, if you have put a
- "l" next to any articles nnr will log all articles marked.
- GILMART@lstc2vm.stortek.com has added some visual effects for the log
- mechanism so the users wont panic (thanks gil).
-
- /* * optionally use nnr in conjunction with nnrlist (via STATIC)*/
-
- for those sites that use nnrlist you will need to set the "STATIC"
- globalv in "nnr exec" if you want nnr to use the static list. it
- was suggested to me that it would be simpler to add the logic one
- time rather than retrofit "NNR$XEDI RXSSTAT" fix every release. my
- only qualm with this sort of mechanism is having a lot of dead code
- in pivotal areas. so i didn't apply this technique to the REXTCPIP
- vs RXSOCKET code. (thanks doug@ysub.ysu.edu)
-
- /* * remove LINES restriction GILMART@lstc2vm.stortek.com */
-
- one of the problems with my implementation of the "l","m","p" and "r"
- fix was it's sensitivity to the article's length. if the size
- of the article > the nnr allowable then we only grabbed the nnr
- allowable (could be set via PREFER Screen). what gil has done was
- remove the the upper limit restriction by not pulling in the article
- in its entirety prior to processing but bring it in incrementally and
- processing it in part. this has only been applied to "log" where it
- is not uncommon to find large binaries.
-
- /* * reduce shli screen (eliminate groups with 0 articles) */
-
- "Reduce" on the SHLI Screen is new, it replaces the "U_Prefer" pfk.
- it behaves like the "Reduce" pfk on the Headers screen only it
- eliminates groups with 0 articles. unlike the "Reduce" on the
- Headers Screen it is not recursive and will not revert back to the
- original setting.
-
- /* * add PREFERence call to command line on every screen */
-
- the "U_Prefer" pfk has been made into a command and is available on
- every screen. this method of operation allows much more flexibility
- when needing to change values.
-
- /* * expand help to include general, pfk and cmd screen */
-
- the help has been changed to handle more than one panel per screen.
- now there are now three panels describing each screen: one for
- general description, another describing the pfk operation and the
- third describes all commands available.
-
- /* * reduce overhead for articles read from shli */
-
- eliminated redundant server commands. this suggestion cam from Van
- Uytven Herman <SYSTHVU@cc1.kuleuven.ac.be>. this change only affects
- "Articles" on the SHLI Screen.
-
- /* * add TOP/BOTTOM/LOCATE on PHLI/SHLI/HEADERS */
-
- the TOP and BOTTOM commands have been added to all screens that could
- make use of them, they behave similarly to the xedit command but are
- calculated. the LOCATE command "/string" is available on the SHLI
- Screen and the Headers Screen. it to resembles the xedit LOCATE
- function. once the "string" has been found use the "=" to find the
- next occurrence. "Forward" and "Backward" were also streamlined.
-
- /* * add SORT command on Headers */
-
- this is something i have been resisting because i plan to open the
- Headers Screen up to be more xedit than display. i wasn't sure when
- this would happen so we now have a sort command. "sort" will toggle
- between sorted by article number (server order) and sorted by
- subject. it should behave correctly regardless of the levels of
- "Reduce" and "Thread".
-
- /* * add P_PersonalHLI from the command line */
-
- nnr accepts a server group.ext or "P_S" as arguments from the "Ready"
- prompt. since we had the capability in 1.3.0 of building Personal
- High Level Indexes i added the capability of accessing a PHLI as an
- argument, much like the "P_S". the "P_" part (equates to
- "Personal_") plus the defined PHLI (case sensitive) part together
- make up the argument passed to nnr. for example, if i had defined
- "VM" as my HLI qualifier it would appear on the PHLI Screen as
- "Personal_VM" and could be access as an argument as "P_VM".
-
- /* * miscellany, tweak previous fixes */
-
- miscellaneous adjustments.
-
- /* * add full list on PHLI */
-
- add ability to check out the entire set of available groups using
- PFK "FullList". this will behave like the PFK "New_News" in all
- respects.
-
- * NNRLIST
-
- /* * simplify test pattern code */
-
- eliminate the use of substr and use left which proved more forgiving
- when dealing with unknown string lengths.
-
- /* * speed up sort GILMART@lstc2vm.stortek.com */
-
- applied the same logic from nnr "sortlist" routine with the tweaks by
- GILMART@lstc2vm.stortek.com.
-
- /* * add LIST or GROUP option (article count) */
-
- there are now 2 options when running nnrlist: "LIST" which uses only
- the server "LIST" command to collect the active list or the "GROUP"
- option which not only uses the server "LIST" command but will refine
- the article counts using the server "GROUP" command. the list option
- has the advantage of speed but the group option has the advantage of
- a more accurate article count. default is "GROUP".
-
- /* * add error checks */
-
- nnrlist now checks all return codes from the server and will not
- replace the groups list when there is a problem with the server.
-
- /* * add version number */
-
- added version number for reporting problems.
-
- *****************************************************************
- many thanks to the University of Stuttgart and the
- Instituto Tecnologico de Monterrey for the anonymous ftp
- -----------
- Anonymous FTP to VMTECQRO.QRO.ITESM.MX or 132.254.90.1
- CD NNR
-
- 8:00-23:00 CST Mon. to Fri.
- 9:00-16:00 CST Sat. & Sun.
- -----------
- FTP rusmv1.rus.uni-stuttgart.de or 129.69.1.12
- cd /soft/kommunikation/news/beginner/software/nnr
- -----------
-
- source.vers130 - nnr sequenced source and support files
- updates.vers131 - individual updates
- nnrrxtcp.vers131 - nnr with rextcpip
- nnrrxsoc.vers131 - nnr with rxsocket (requires fal version 2)
- nnrrxtcp.noas131 - nnr (without rextcpip)
- nnrrxsoc.noas131 - nnr (without rxsocket) (requires fal version 2)
- nnrdocs.vers131 - nnr users guide (script and postscript)
-
-
- the above mentioned files are in a punch format and the following
- procedure will unpack them.
-
- SPOOL PUN *
- PUNCH Filename Filetype <fm> ( NOH
- ORDER RDR <spid>
- READCARD * * <fm>
-
- use the command "gnnrx" to generate the rxsocket version and
- "gnnrt" for the rextcpip version from source.vers130 and
- updates.vers130.
-
- In NNR exec:
- set variable ipaddr : ip address
- mailer : mail machine
- organization : your organization
- thisnode : yournode.yourdomain
-
- make appropriate update for link to production tcpmaint 592
- make appropriate update for printing
-
- See "NNR SAMPLEFX" - update, make changes to this file for your site
- and file it as "NNR SITEFIX".
-
- /pc
-
- -------------
- Paul Campbell
- The MITRE Corporation
- Bedford, MA, USA 01730 : (617)271-3984
- nnrprod@mbvm.mitre.org
- :READ NNRFTP README C1 UPDTS 07/26/92 12:06:17
- NNR (S_1.3.0) and (R_1.3.0) update announcement.
-
- SPECIAL THANKS:
- Arty Ecock @ City University New York
- Ken Hornstein @ Pennsylvania State University
-
- *****************************************************************
- many thanks to the University of Stuttgart and the
- Instituto Tecnologico de Monterrey for the anonymous ftp
- -----------
- Anonymous FTP to VMTECQRO.QRO.ITESM.MX or 132.254.90.1
- CD NNR
-
- 8:00-23:00 CST Mon. to Fri.
- 9:00-16:00 CST Sat. & Sun.
- -----------
- FTP rusmv1.rus.uni-stuttgart.de or 129.69.1.12
- cd /soft/kommunikation/news/beginner/software/nnr
- -----------
-
- source.vers130 - nnr sequenced source and support files
- updates.vers130 - individual updates
- nnrrxtcp.vers130 - nnr with rextcpip
- nnrrxsoc.vers130 - nnr with rxsocket (requires fal version 2)
- nnrrxtcp.noas130 - nnr (without rextcpip)
- nnrrxsoc.noas130 - nnr (without rxsocket) (requires fal version 2)
- nnrdocs.vers130 - nnr users guide (script and postscript)
- updates.vers122e - individual updates to get to version 1.3.0
-
-
- the above mentioned files are in a punch format and the following
- procedure will unpack them.
-
- SPOOL PUN *
- PUNCH Filename Filetype <fm> ( NOH
- ORDER RDR <spid>
- READCARD * * <fm>
-
- use the command "gnnrx" to generate the rxsocket version and
- "gnnrt" for the rextcpip version from source.vers130 and
- updates.vers130.
-
- In NNR exec:
- set variable ipaddr : ip address
- mailer : mail machine
- organization : your organization
- thisnode : yournode.yourdomain
-
- make appropriate update for link to production tcpmaint 592
- make appropriate update for printing
-
- See "NNR SAMPLEFX" - update, make changes to this file for your site
- and file it as "NNR SITEFIX".
-
- /pc
-
- -------------
- Paul Campbell
- The MITRE Corporation
- Bedford, MA, USA 01730, (617)271-3984
- nnrprod@mbvm.mitre.org
- :READ NNRHELP $XSCREEN C2 UPDTS 10/29/92 12:09:02
- To use this screen you simply move the cursor to the desired Primary
- High Level Index (PHLI) and hit one of the Program Function Keys
- (PFK). The PHLI is the principal part of the name of a group. All
- groups with the same PHLI are related in some way. For example
- "comp" represents all groups associated with computing. Positioning
- the cursor on top of "comp" and pressing a PFK will initiate some
- action. Depending on the PFK, you can read all the news, read only
- the new news or exit back to CMS.
-
- There are currently two special purpose PHLIs, Personal_Subscriptions
- and New_Groups_Since_mm/dd/yy. These are slightly different from the
- other PHLIs since they are built by NNR and not directly related to
- the server. The Personal_Subscription PHLI is a collection of all
- the groups you have subscribed to and New_Groups_Since_mm/dd/yy are
- all those groups new to the server from the specified date.
-
-
-
- PFK Help - This display.
- PFK All_News - Access all the news that is available. Articles read are
- not remembered. Move cursor to desired topic and press
- All_News PFK.
- PFK Quit - Exit NNR program.
- PFK New_News - Access news that is new to you according to "Groups Read"
- file on your account. Articles read are remembered.
- PFK Backward - Scrolls backward one screen.
- PFK Forward - Scrolls forward one screen.
- PFK FullList - Access news that is new to you according to "Groups Read"
- file on your account. All groups are collected. Articles
- read are remembered.
-
-
-
-
-
-
- PREFER - Display Preferences Screen
- SUBset - Drop into a CMS subset. You must type "Return" to come back
- to NNR. If your are using the RXSOCKET version you may use
- other TCPIP applications.
- NULL - Simply hitting the ENTER key will toggle the cursor from the
- current position to the command line.
- TOP - Operates like the Xedit command TOP, locates the first PHLI
- and displays the associated screen.
- BOTtom - Operates like the Xedit command BOTTOM, locates the last PHLI
- and displays the associated screen.
-
-
-
-
-
-
-
-
- To use this screen you simply move the cursor to the desired
- Secondary High Level Index (SHLI) and hit one of the Program Function
- Keys (PFK). The SHLI is better known as a group or a news group.
- Each news group is comprised of articles. The number of articles and
- posting information accompanies each group. You may check out a
- particular group using the PFKs associated with this screen.
-
- You will notice that some of the groups are highlighted and some are
- not. A group becomes highlighted when you subscribe "Sub/UnS" or
- read the group while in "New_News". This highlighted group will
- eventually appear in your Personal_Subscriptions group.
-
- The "Power" feature is used in conjunction with the "Articles" PFK.
- When "Power" is ON you will be able to move through all the articles
- in all the groups using only the "Next" PFK. When "Power" is OFF you
- will return to the SHLI/Group Screen after reading the last article
- in each group.
-
- PFK Help - This display.
- PFK Articles - Access articles sequentially by article number. Starts with
- the first available article. Cursor position respected.
- PFK Quit - Exits this screen.
- PFK Headers - Preferred path to articles. Collects subject and other
- information for display. Cursor position respected.
- PFK Post - Initiates posting procedure. Only group passed to the
- posting screen. Cursor position respected.
- PFK Mark - Mark the group as been read, zeros the article count.
- PFK Backward - Scrolls backward one screen.
- PFK Forward - Scrolls forward one screen.
- PFK Sub/UnS - Subscribe or UnSubscribe to a news group.
- PFK UpdtGrp - Updates the Group.
- PFK Reduce - Eliminate all groups with 0 articles from the display.
- PFK Power - Toggle between current Power setting. Initially OFF.
-
-
-
- PREFER - Display Preferences Screen
- SUBset - Drop into a CMS subset. You must type "Return" to come back
- to NNR. If your are using the RXSOCKET version you may use
- other TCPIP applications.
- NULL - Simply hitting the ENTER key will toggle the cursor from the
- current position to the command line.
- UPDate - Inventories all groups associated with the current SHLI and
- displays the revised article count. Works like the "UpdtGrp"
- PFK but on all groups.
- TOP - Operates like the Xedit command TOP, locates the first SHLI
- and displays the associated screen.
- BOTtom - Operates like the Xedit command BOTTOM, locates the last SHLI
- and displays the associated screen.
- /str - Operates like the Xedit command Locate/, where "str" is any
- literal to be searched for. Case is ignored. Use "=" to
- continue search.
-
-
- To use this screen you simply move the cursor to the desired article
- and use a Program Function Key (PFK) to initiate some action, see the
- PFK descriptions. Replacing the "." with (L)og, (M)ail, (P)rint or
- (R)ead and using the Selected PFK will initiate bulk activities. For
- example, replacing the "." with an "P" for several articles and
- pressing the "Selected" PFK will Print all the marked articles. The
- "*" signifies you have read this article during the current session
- or a previous session and the "@" marks articles where some
- "Selected" action has taken place.
-
- On the Headers Screen in the upper left corner you will notice "R 0"
- as an initial setting. This is a "Reduce" indicator, which counts
- the number of times you have issued the Reduce PFK. Use the Quit PFK
- to bring it back to zero.
-
-
-
-
- PFK Help - This display.
- PFK Article - Read a specific article. Cursor position respected.
- PFK Quit - Exit Headers screen.
- PFK Selected - Mark each article at the "." with an "x". Mark as many as
- desired, then press the Selected PFK.
- PFK Post - Initiates posting procedure. The group and subject are
- passed to the posting screen. Cursor position respected.
- PFK Mrk2Here - Marks all articles as read, up to the cursor position or
- when cursor is on Command line, ALL articles are marked.
- PFK Backward - Scrolls backward one screen.
- PFK Forward - Scrolls forward one screen.
- PFK Thread - Collects articles based on subject.
- PFK Reduce - Eliminates read articles, "reduces" the number displayed.
- PFK Mrk/UMrk - Mark Article/UnMark Article toggle.
- PFK NxtGroup - Moves to the next group in the SHLI list.
-
-
-
- PREFER - Display Preferences Screen
- SUBset - Drop into a CMS subset. You must type "Return" to come back
- to NNR. If your are using the RXSOCKET version you may use
- other TCPIP applications.
- NULL - Simply hitting the ENTER key will toggle the cursor from the
- current position to the command line.
- THRead - Thread expects a literal string as an argument. for example,
- try "THR abc", this will display all articles with the string
- "abc","ABC" or any other combination.
- NGroup - Moves to the next group in the SHLI list (with articles).
- PGroup - Moves to the previous group in the SHLI list (with articles).
- TOP - Operates like the Xedit command TOP, locates the first Header
- and displays the associated screen.
- BOTtom - Operates like the Xedit command BOTTOM, locates the last Header
- and displays the associated screen.
- /str - Operates like the Xedit command Locate/, where "str" is any
- literal to be searched for. Case is ignored. Use "=" to cont.
- SORT - Toggles between sorted "Subject" and default server order
- The Post Screen(2) allows you to modify any of the highlighted
- fields. It is highly recommended that no field be left blank; in
- some cases the MAIL or POST will fail. When sending MAIL use the
- following formats for the "To:" header (nicknames are supported):
-
- userid *or* userid@nodeid *or* userid@nodeid.domain.ext
- (* incorporate personal names as follows *)
- Firstname Lastname <userid@nodeid.domain.ext>
- userid@nodeid.domain.ext (Firstname Lastname)
-
- Bear in mind when you post an article that you are representing both
- yourself and your organization to a potentially large audience.
-
-
-
-
-
-
- PFK Help - This Display.
- PFK Quit - Exit Post(2) screen.
- PFK Edit - Establishes a limited XEDIT session. When you come
- from the Article screen you will see the entire article
- is supplied.
- PFK Send - Will POST/MAIL the results of the edit session. You will
- receive confirmation that your contribution was
- successful.
-
-
-
-
-
-
-
-
-
-
- PREFER - Display Preferences Screen
- SUBset - Drop into a CMS subset. You must type "Return" to come back
- to NNR. If your are using the RXSOCKET version you may use
- other TCPIP applications.
- NULL - Simply hitting the ENTER key will toggle the cursor from the
- current position to the command line.
-
-
-
-
-
-
-
-
-
-
-
-
- This is a simple mailer/poster. It is comprised of two screens, Post
- Screen(1) and Post Screen(2). This screen will be encountered when
- coming from the Article screen or when NNR detects that there is an
- unfinished article that was started sometime earlier. From this
- screen you determine the course of action, you may direct the article
- to a colleague, follow-up to the news server or reply back to the
- sender.
-
- On the SHLI/Group screen you will see an indicator of whether posting
- is an option or not (y=posting, m=moderated, n=noposting). There are
- groups available for testing this activity; "alt.test" and
- "misc.test" are two such groups.
-
- The second screen you encounter will give you an opportunity to
- change some of the captured information and in the case of forwarding
- the article you will be called upon to type in the recipient's
- electronic address.
-
- PFK Help - This Display.
- PFK Quit - Exit Post(1) screen.
- PFK Resume - Allows you to continue an existing POSTing. This is
- independent of the current article.
- PFK Followup - Newly edited information to be sent back to the server
- for POSTing.
- PFK Mail - Newly edited information to be directed to the local
- electronic mail system (must fill in recipient).
- PFK Reply - Newly edited information to be directed to the creator
- of an article (directed back to the "From:").
- PFK ERASE - Eliminate the previously edited POSTing to operate on
- the current article.
-
-
-
-
-
-
- PREFER - Display Preferences Screen
- SUBset - Drop into a CMS subset. You must type "Return" to come back
- to NNR. If your are using the RXSOCKET version you may use
- other TCPIP applications.
- NULL - Simply hitting the ENTER key will toggle the cursor from the
- current position to the command line.
- ERASE - Eliminate the previously edited POSTing to operate on the
- current article.
-
-
-
-
-
-
-
-
-
-
- There are three ways to get to this screen. The first is by
- selecting the "Articles" PFK for a specific group from the SHLI/Group
- screen. The second and third are via the Headers screen using the
- "Article" PFK and the "Selected" PFK, see the respective PFK help for
- each of the screens mentioned.
-
- Once you have succeeded in getting to this screen you may page through
- the article (PFK Forward, PFK Backward) and range through all the
- available articles (PFK Next, PFK Previous). There is one
- Preferences setting that limits the number of "Lines" NNR will allow,
- you may set this accordingly.
-
- From the Article Screen you may also "Post", "Print" or "Log" a
- article, please see the PFK description for this screen for details.
-
-
-
-
- PFK Help - This display.
- PFK Next - Read the next article in the sequence.
- PFK Quit - Exit Article screen.
- PFK Previous - Read the previous article in the sequence.
- PFK PostMail - Initiates posting procedure. The group and subject are
- passed to the posting screen along with the article.
- PFK HeadBody - Toggles between headers+body and body only.
- PFK Backward - Scrolls backward one screen.
- PFK Forward - Scrolls forward one screen.
- PFK Print - Sends the article to the virtual printer.
- PFK Rot13 - Translates screen using a character rotation method.
- PFK Log - Logs article in NNRLOG NOTEBOOK.
- PFK NxtGroup - Moves to the next group in the SHLI list.
-
-
-
-
-
- PREFER - Display Preferences Screen
- SUBset - Drop into a CMS subset. You must type "Return" to come back
- to NNR. If your are using the RXSOCKET version you may use
- other TCPIP applications.
- NGroup - Moves to the next group in the SHLI list (with articles).
- PGroup - Moves to the previous group in the SHLI list (with articles).
- LOG - "LOG xyz" will log the current article into a notebook by the
- name of "XYZ NOTEBOOK". If the header information is available
- this article may be manipulated with Rice Mail/Mailbook.
-
-
-
-
-
-
-
-
-
- The User Preferences Screen attempts to make NNR more useful in
- irregular situations (normally none of the User configurable
- parameters should need changing). The Header Screen option is
- changed by the Rotate PFK; the other values must be filled in. Once
- any of the values are changed they will retain their setting for the
- duration of the NNR session or until changed again. The values will
- be reset to the default on the next invocation of NNR.
-
- Articles/Group - used to determine the upper limit for the number of
- articles collected on "Headers Screen". Default is 300 articles.
- Lines/Article - used to determine the upper limit for the number of lines
- collected for an article on "Article Screen". Default is 1500 lines.
- Log/NoLog - you may switch between logging all outgoing mail/post and
- not logging them. The default is "YES", log them.
- Add Pseudo PHLI - used in conjunction with the Sub/UnS PFK on the SHLI
- screen. The default is OFF, change this to any name and use the
- Sub/UnS PFK to add groups to the newly defined PHLI.
-
- PFK Help - This display.
- PFK Quit - Exit Preferences screen.
- PFK Rotate - Range through possible configuration values.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- SUBset - Drop into a CMS subset. You must type "Return" to come back
- to NNR. If your are using the RXSOCKET version you may use
- other TCPIP applications.
- NULL - Simply hitting the ENTER key will toggle the cursor from the
- current position to the command line.
-
-
-
-
-
-
-
-
-
-
-
-
-
- :READ NNRLIST ADDERRCK C2 UPDTS 06/21/92 13:09:41
- ./ I 00068960 $ 69020 60 06/21/92 12:57:14
- if word(status,1)^='211' then 00048000
- do 00049000
- say status 00050000
- nntprc=NEWSQuit() 00051000
- nntprc=RXTermin() 00052000
- Exit(word(status,1)) 00053000
- end 00054000
- :READ NNRLIST AUXLCL C1 UPDTS 05/10/92 11:17:27
- SITEFIX * local configuration parameters go in sitefix
- :READ NNRLIST AUXRXS C1 UPDTS 08/03/92 14:23:10
- LICENSE * new MITRE license agreement
- VERS131 * add version number
- ADDERRCK * add error checks
- LSTORGRP * add LIST or GROUP option (article count)
- FIXSORT * speed up sort GILMART@lstc2vm.stortek.com
- CLEANUP * simplify test pattern code
- HISTORY
- :READ NNRLIST AUXRXT C1 UPDTS 07/26/92 13:31:15
- RXT131 * add rextcpip version number
- REXTCPIP * add rextcpip conversion routines
- :READ NNRLIST CLEANUP C2 UPDTS 05/10/92 11:11:41
- ./ R 00176000 $ 176490 490 05/10/92 10:09:08
- If bytes_in=0 | index(line,pattern)>0 then 00176000
- ./ R 00198000 $ 198490 490 05/10/92 10:09:08
- test=right(line,5) 00198000
- :READ NNRLIST FIXSORT C2 UPDTS 05/21/92 21:14:51
- ./ R 00101000 00124000 $ 101990 990 05/21/92 21:14:51
- Do Gap = 797161 By 0 while Gap>1
- Gap = Gap%3
- Do Scan = Gap+1 to list.0
- Vacant = Scan - Gap
- If list.Vacant>list.Scan Then Do
- Temp = list.Scan
- list.Scan = list.Vacant
- Do Bubble = Vacant-Gap to 1 By -Gap ,
- While list.Bubble>Temp
- list.Vacant = list.Bubble
- Vacant = Bubble
- End Bubble
- list.Vacant = Temp
- End
- End Scan
- End Gap
- :READ NNRLIST HISTORY C2 UPDTS 08/03/92 14:22:46
- ./ R 00005000 00009000 $ 6990 100 05/10/92 09:51:00
- /* 05/09/92 S_1.3.0 (level set S_1.2.2e) */
- /* * simplify test pattern code */
- /* * speed up sort GILMART@lstc2vm.stortek.com */
- /* * add LIST or GROUP option (article count) */
- /* * add error checks */
- /* * add version number */
- /* 07/26/92 version *_1.3.1 */
- /* 08/03/92 add GENERAL PUBLIC LICENSE */
- :READ NNRLIST LICENSE C2 UPDTS 12/15/92 06:17:38
- ./ R 00011000 00025000 $ 11590 590 08/03/92 14:21:42
- /**
- Copyright (C) 1991,1992 The MITRE Corporation
-
- GENERAL PUBLIC LICENSE
-
- The MITRE Corporation provides this software to you without charge.
- It may be reproduced by you within the United States of America
- provided all copyright notices are reproduced. It cannot be made
- available to foreign governments unless done in accordance with
- export control laws.
-
- This material may be reproduced by or for U. S. Government pursuant
- to the copyright license under the clause DFARS 252.227-7013.
-
- This software is provided "AS IS" and no warranties, expressed or
- implied, including but not limited to the implied warranties of
- merchantability and fitness for a particular purpose, are made by The
- MITRE Corporation, it's officers, agents or employees. You agree to
- indemnify and hold harmless The MITRE Corporation, it's officers,
- agents and employees from any and all costs and liability to third
- parties which will arise out of your use for this software
-
- **/
- :READ NNRLIST LSTORGRP C2 UPDTS 06/21/92 13:09:41
- ./ R 00029000 $ 29090 90 06/21/92 13:06:35
- parse arg arguments '(' options 00029190
- ipaddr=arguments /* we should only have one */ 00029380
- options=translate(options) 00029570
- CoarseGrain=max(0,min(1,find(options,'LIST'))) 00029760
- if CoarseGrain then 00067490
- say 'Course Grain: Using server "LIST" command only!'
- else
- say 'Fine Grain: Using server "GROUP" command!'
- ./ R 00067000 00070000 $ 67490 490 06/21/92 13:06:35
- if ^CoarseGrain then 00067490
- do 00067980
- do i=1 to list.0 00068470
- status=STATUS_Response('GROUP' word(list.i,1)) 00068960
- list.i=word(list.i,1) word(status,4) word(status,3) word(list.i,4)00069450
- end 00069940
- end 00070430
- :READ NNRLIST REXTCPIP C2 UPDTS 05/10/92 11:11:41
- ./ R 00131000 00141000 $ 131990 990 05/10/92 10:13:51
- 'NUCEXT REXTCPIP' /*RXTcp*/00106990
- if rc = 1 then 'REXTCPIP' /*RXTcp*/00107980
- socket = tcpOPEN(word(args,1),119,20) /*RXTcp*/00108970
- if tcprc ^= 0 then Return('-1 tcpopen '||tcprc) /*RXTcp*/00109960
- 'GLOBALV SETL SOCKET' socket /*RXTcp*/00110950
- status=STATUS_Response('') /*RXTcp*/00111940
- ./ R 00147000 00150000 $ 147790 790 05/10/92 10:13:51
- Call tcpCLOSE socket /*RXTcp*/00122790
- 'NUCXDROP REXTCPIP' /*RXTcp*/00125160
- if tcprc ^= 0 then /*RXTcp*/00123580
- Return('-1 tcpclose '||tcprc) /*RXTcp*/00124370
- ./ R 00173000 00174000 $ 173590 590 05/10/92 10:13:51
- bytes_in = Socket('Read') /*RXTcp*/00148590
- If word(bytes_in,1)="-1" Then Return(bytes_in) /*RXTcp*/00149180
- ./ R 00195000 00196000 $ 195590 590 05/10/92 10:13:51
- bytes_in = Socket('Read') /*RXTcp*/00170490
- If word(bytes_in,1)="-1" Then Return(bytes_in) /*RXTcp*/00170980
- ./ R 00208000 00209000 $ 208590 590 05/10/92 10:13:51
- bytes_out = Socket('Write') /*RXTcp*/00183590
- If word(bytes_out,1)="-1" Then Return(bytes_out) /*RXTcp*/00184180
- ./ I 00273000 $ 274000 1000 05/10/92 10:13:51
- /**********************************************************************/00249000
- /* Add REXTCPIP interface, use socket stuff layout. */00250000
- /**********************************************************************/00251000
- socket:procedure expose socket data errno /*RXTcp*/00252000
- parse arg RorW /*RXTcp*/00253000
- If RorW='Read' then /*RXTcp*/00254000
- do /*RXTcp*/00255000
- Call tcpRECEIVE Socket,'WAIT','BIN' /*RXTcp*/00256000
- errno=tcprc /*RXTcp*/00257000
- If tcprc^=0 then /*RXTcp*/00258000
- Return('-1 tcpRECIEVE '||tcprc) /*RXTcp*/00259000
- data=tcpline.1 /*RXTcp*/00260000
- Return(length(tcpline.1)) /*RXTcp*/00261000
- end /*RXTcp*/00262000
- Else if RorW='Write' then /*RXTcp*/00263000
- do /*RXTcp*/00264000
- Call tcpSEND Socket,data,'BIN' /*RXTcp*/00265000
- errno=tcprc /*RXTcp*/00266000
- If tcprc^=0 then /*RXTcp*/00267000
- Return('-1 tcpSEND '||tcprc) /*RXTcp*/00268000
- Return(0) /*RXTcp*/00269000
- end /*RXTcp*/00270000
- Else Return('-1 Socket Unknown '||RorW) /*RXTcp*/00271000
- return /*RXTcp*/00272000
- :READ NNRLIST RXT131 C2 UPDTS 07/26/92 13:32:11
- ./ R 00029310 $ 29320 10 07/26/92 13:31:37
- say 'NNRLIST Version R_1.3.1' 00029310
- :READ NNRLIST SAMPLEFX C2 UPDTS 05/10/92 11:11:42
- ./ R 00033000 $ 33490 490 05/10/92 09:52:59
- 'GLOBALV SETL IPADDR 000.000.000.000' 00033000
- :READ NNRLIST VERS131 C2 UPDTS 07/26/92 13:32:11
- ./ I 00029270 $ 29310 40 07/26/92 13:30:26
- say 'NNRLIST Version S_1.3.1'
- :READ RXSOC CNTRL C1 UPDTS 05/10/92 11:12:23
- TEXT MACS ALLMACRO VSPASCAL CMSLIB DMSSP OSMACRO OSMACRO1
- LCL AUXLCL
- RXS AUXRXS
- :READ RXTCP CNTRL C1 UPDTS 05/10/92 11:12:23
- TEXT MACS ALLMACRO VSPASCAL CMSLIB DMSSP OSMACRO OSMACRO1
- LCL AUXLCL
- RXT AUXRXT
- RXS AUXRXS
-